Skip to content

Commit 5da3a72

Browse files
authored
Merge pull request #9606 from jpbetz/automated-cherry-pick-of-#9587-release-3.1
Automated cherry pick of #9587
2 parents c764878 + 3865d69 commit 5da3a72

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

etcdserver/metrics.go

+7
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ var (
2828
Name: "has_leader",
2929
Help: "Whether or not a leader exists. 1 is existence, 0 is not.",
3030
})
31+
isLeader = prometheus.NewGauge(prometheus.GaugeOpts{
32+
Namespace: "etcd",
33+
Subsystem: "server",
34+
Name: "is_leader",
35+
Help: "Whether or not this member is a leader. 1 if is, 0 otherwise.",
36+
})
3137
leaderChanges = prometheus.NewCounter(prometheus.CounterOpts{
3238
Namespace: "etcd",
3339
Subsystem: "server",
@@ -62,6 +68,7 @@ var (
6268

6369
func init() {
6470
prometheus.MustRegister(hasLeader)
71+
prometheus.MustRegister(isLeader)
6572
prometheus.MustRegister(leaderChanges)
6673
prometheus.MustRegister(proposalsCommitted)
6774
prometheus.MustRegister(proposalsApplied)

etcdserver/raft.go

+5
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ func (r *raftNode) start(rh *raftReadyHandler) {
171171

172172
atomic.StoreUint64(&r.lead, rd.SoftState.Lead)
173173
islead = rd.RaftState == raft.StateLeader
174+
if islead {
175+
isLeader.Set(1)
176+
} else {
177+
isLeader.Set(0)
178+
}
174179
rh.updateLeadership()
175180
}
176181

0 commit comments

Comments
 (0)