From 86718167e88ad5c16554bb4f14f73da5b174db9b Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Mon, 20 Jan 2014 11:07:46 -0800 Subject: [PATCH] refactor(peer_server): move stats construction to factories --- server/peer_server.go | 18 +++--------------- server/raft_follower_stats.go | 7 +++++++ server/raft_server_stats.go | 13 +++++++++++++ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/server/peer_server.go b/server/peer_server.go index 5eea6b363..bec33486d 100644 --- a/server/peer_server.go +++ b/server/peer_server.go @@ -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), diff --git a/server/raft_follower_stats.go b/server/raft_follower_stats.go index 96b76c85b..b22bb803e 100644 --- a/server/raft_follower_stats.go +++ b/server/raft_follower_stats.go @@ -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"` diff --git a/server/raft_server_stats.go b/server/raft_server_stats.go index 8f37752d2..518863539 100644 --- a/server/raft_server_stats.go +++ b/server/raft_server_stats.go @@ -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 {