etcdserver/stats: fix stats data race.

release-3.4
disksing 2018-04-11 21:37:09 +08:00
parent f46368c6e9
commit ba59bb2c2b
1 changed files with 2 additions and 2 deletions

View File

@ -74,10 +74,10 @@ type serverStats struct {
func (ss *ServerStats) JSON() []byte {
ss.Lock()
stats := ss.serverStats
ss.Unlock()
stats.LeaderInfo.Uptime = time.Since(stats.LeaderInfo.StartTime).String()
stats.SendingPkgRate, stats.SendingBandwidthRate = stats.sendRateQueue.Rate()
stats.RecvingPkgRate, stats.RecvingBandwidthRate = stats.recvRateQueue.Rate()
ss.Unlock()
stats.LeaderInfo.Uptime = time.Since(stats.LeaderInfo.StartTime).String()
b, err := json.Marshal(stats)
// TODO(jonboulle): appropriate error handling?
if err != nil {