refactor(peer_server): move stats construction to factories

release-0.4
Brian Waldon 2014-01-20 11:07:46 -08:00
parent 7bd4d05a38
commit 86718167e8
3 changed files with 23 additions and 15 deletions

View File

@ -75,23 +75,11 @@ type snapshotConf struct {
func NewPeerServer(psConfig PeerServerConfig, tlsConf *TLSConfig, tlsInfo *TLSInfo, registry *Registry, store store.Store, mb *metrics.Bucket) *PeerServer {
s := &PeerServer{
Config: psConfig,
registry: registry,
store: store,
followersStats: &raftFollowersStats{
Leader: psConfig.Name,
Followers: make(map[string]*raftFollowerStats),
},
serverStats: &raftServerStats{
Name: psConfig.Name,
StartTime: time.Now(),
sendRateQueue: &statsQueue{
back: -1,
},
recvRateQueue: &statsQueue{
back: -1,
},
},
followersStats: newRaftFollowersStats(psConfig.Name),
serverStats: newRaftServerStats(psConfig.Name),
timeoutThresholdChan: make(chan interface{}, 1),

View File

@ -10,6 +10,13 @@ type raftFollowersStats struct {
Followers map[string]*raftFollowerStats `json:"followers"`
}
func newRaftFollowersStats(name string) *raftFollowersStats {
return &raftFollowersStats{
Leader: name,
Followers: make(map[string]*raftFollowerStats),
}
}
type raftFollowerStats struct {
Latency struct {
Current float64 `json:"current"`

View File

@ -29,6 +29,19 @@ type raftServerStats struct {
recvRateQueue *statsQueue
}
func newRaftServerStats(name string) *raftServerStats {
return &raftServerStats{
Name: name,
StartTime: time.Now(),
sendRateQueue: &statsQueue{
back: -1,
},
recvRateQueue: &statsQueue{
back: -1,
},
}
}
func (ss *raftServerStats) RecvAppendReq(leaderName string, pkgSize int) {
ss.State = raft.Follower
if leaderName != ss.LeaderInfo.Name {