From 60c2680bfd666f81e640b308ef8e84f65ac304de Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Tue, 7 Jan 2014 12:30:20 +0800 Subject: [PATCH] fix(peer_server.go) init name field and update leader field --- server/peer_server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/peer_server.go b/server/peer_server.go index 2a903a2a0..00a66e358 100644 --- a/server/peer_server.go +++ b/server/peer_server.go @@ -72,6 +72,7 @@ func NewPeerServer(name string, path string, url string, bindAddr string, tlsCon Followers: make(map[string]*raftFollowerStats), }, serverStats: &raftServerStats{ + Name: name, StartTime: time.Now(), sendRateQueue: &statsQueue{ back: -1, @@ -401,6 +402,12 @@ func (s *PeerServer) joinByPeer(server raft.Server, peer string, scheme string) func (s *PeerServer) Stats() []byte { s.serverStats.LeaderInfo.Uptime = time.Now().Sub(s.serverStats.LeaderInfo.startTime).String() + // TODO: register state listener to raft to change this field + // rather than compare the state each time Stats() is called. + if s.RaftServer().State() == raft.Leader { + s.serverStats.LeaderInfo.Name = s.RaftServer().Name() + } + queue := s.serverStats.sendRateQueue s.serverStats.SendingPkgRate, s.serverStats.SendingBandwidthRate = queue.Rate()