mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
feat(metrics): Publish peer heartbeat events as metrics
This commit is contained in:
parent
47f24d1088
commit
97bc5b260d
@ -122,6 +122,8 @@ func NewPeerServer(name string, path string, url string, bindAddr string, tlsCon
|
||||
s.raftServer.AddEventListener(raft.HeartbeatTimeoutEventType, s.raftEventLogger)
|
||||
s.raftServer.AddEventListener(raft.ElectionTimeoutThresholdEventType, s.raftEventLogger)
|
||||
|
||||
s.raftServer.AddEventListener(raft.HeartbeatEventType, s.recordMetricEvent)
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
@ -499,6 +501,12 @@ func (s *PeerServer) raftEventLogger(event raft.Event) {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *PeerServer) recordMetricEvent(event raft.Event) {
|
||||
name := fmt.Sprintf("raft.event.%s", event.Type())
|
||||
value := event.Value().(time.Duration)
|
||||
(*s.metrics).Timer(name).Update(value)
|
||||
}
|
||||
|
||||
func (s *PeerServer) monitorSnapshot() {
|
||||
for {
|
||||
time.Sleep(s.snapConf.checkingInterval)
|
||||
|
Loading…
x
Reference in New Issue
Block a user