diff --git a/etcdserver/stats/server.go b/etcdserver/stats/server.go index 10849813c..cd450e2d1 100644 --- a/etcdserver/stats/server.go +++ b/etcdserver/stats/server.go @@ -123,17 +123,11 @@ func (ss *ServerStats) SendAppendReq(reqSize int) { ss.Lock() defer ss.Unlock() - now := time.Now() - - if ss.State != raft.StateLeader { - ss.State = raft.StateLeader - ss.LeaderInfo.Name = ss.ID - ss.LeaderInfo.StartTime = now - } + ss.becomeLeader() ss.sendRateQueue.Insert( &RequestStats{ - SendingTime: now, + SendingTime: time.Now(), Size: reqSize, }, ) @@ -144,7 +138,10 @@ func (ss *ServerStats) SendAppendReq(reqSize int) { func (ss *ServerStats) BecomeLeader() { ss.Lock() defer ss.Unlock() + ss.becomeLeader() +} +func (ss *ServerStats) becomeLeader() { if ss.State != raft.StateLeader { ss.State = raft.StateLeader ss.LeaderInfo.Name = ss.ID