30 lines
654 B
Go
30 lines
654 B
Go
package rpc
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
type State struct {
|
|
RunTimes int64 //执行次数
|
|
TotalRuningTime int64 //总执行时间
|
|
MaxRuningTime int64 //最长执行时间
|
|
TimeoutTimes int64 //执行超时次数 大于30秒的次数
|
|
FailTimes int64 //执行失败次数
|
|
SuccessTimes int64 //执行成功次数
|
|
NoConnTimes int64 //无连接次数
|
|
}
|
|
|
|
var StateMgr = make(map[string]*State)
|
|
var StateMgrLock = sync.RWMutex{}
|
|
|
|
func GetState() map[string]*State {
|
|
ret := make(map[string]*State)
|
|
StateMgrLock.RLock()
|
|
defer StateMgrLock.RUnlock()
|
|
for k, v := range StateMgr {
|
|
e := *v // 复制一份
|
|
ret[k] = &e
|
|
}
|
|
return ret
|
|
}
|