Skip to content

Commit 10174f3

Browse files
committed
feat: add etcd_debugging_lease_total gauge metric
Signed-off-by: Jimmy- <[email protected]>
1 parent a529268 commit 10174f3

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

server/lease/lessor.go

+3
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ func (le *lessor) Grant(id LeaseID, ttl int64) (*Lease, error) {
303303

304304
leaseTotalTTLs.Observe(float64(l.ttl))
305305
leaseGranted.Inc()
306+
leaseActive.Inc()
306307

307308
if le.isPrimary() {
308309
item := &LeaseWithTime{id: l.ID, time: l.expiry}
@@ -351,6 +352,7 @@ func (le *lessor) Revoke(id LeaseID) error {
351352
txn.End()
352353

353354
leaseRevoked.Inc()
355+
leaseActive.Dec()
354356
return nil
355357
}
356358

@@ -812,6 +814,7 @@ func (le *lessor) initAndRecover() {
812814
}
813815
le.leaseExpiredNotifier.Init()
814816
heap.Init(&le.leaseCheckpointHeap)
817+
leaseActive.Set(float64(len(le.leaseMap)))
815818

816819
le.b.ForceCommit()
817820
}

server/lease/metrics.go

+8
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,19 @@ var (
4949
// 1 second -> 3 months
5050
Buckets: prometheus.ExponentialBuckets(1, 2, 24),
5151
})
52+
53+
leaseActive = prometheus.NewGauge(prometheus.GaugeOpts{
54+
Namespace: "etcd_debugging",
55+
Subsystem: "lease",
56+
Name: "active",
57+
Help: "The current number of active leases.",
58+
})
5259
)
5360

5461
func init() {
5562
prometheus.MustRegister(leaseGranted)
5663
prometheus.MustRegister(leaseRevoked)
5764
prometheus.MustRegister(leaseRenewed)
5865
prometheus.MustRegister(leaseTotalTTLs)
66+
prometheus.MustRegister(leaseActive)
5967
}

0 commit comments

Comments
 (0)