@@ -56,6 +56,7 @@ type ServerMetrics struct {
56
56
dialFailures * prometheus.CounterVec
57
57
streamPackets * prometheus.CounterVec
58
58
streamErrors * prometheus.CounterVec
59
+ culledLeases prometheus.Counter
59
60
}
60
61
61
62
// newServerMetrics create a new ServerMetrics, configured with default metric names.
@@ -148,6 +149,12 @@ func newServerMetrics() *ServerMetrics {
148
149
"reason" ,
149
150
},
150
151
)
152
+ culledLeases := prometheus .NewCounter (prometheus.CounterOpts {
153
+ Namespace : Namespace ,
154
+ Subsystem : Subsystem ,
155
+ Name : "culled_leases_count" ,
156
+ Help : "Count of expired leases that the lease garbage collection controller has culled." ,
157
+ })
151
158
streamPackets := commonmetrics .MakeStreamPacketsTotalMetric (Namespace , Subsystem )
152
159
streamErrors := commonmetrics .MakeStreamErrorsTotalMetric (Namespace , Subsystem )
153
160
prometheus .MustRegister (endpointLatencies )
@@ -161,6 +168,7 @@ func newServerMetrics() *ServerMetrics {
161
168
prometheus .MustRegister (dialFailures )
162
169
prometheus .MustRegister (streamPackets )
163
170
prometheus .MustRegister (streamErrors )
171
+ prometheus .MustRegister (culledLeases )
164
172
return & ServerMetrics {
165
173
endpointLatencies : endpointLatencies ,
166
174
frontendLatencies : frontendLatencies ,
@@ -173,6 +181,7 @@ func newServerMetrics() *ServerMetrics {
173
181
dialFailures : dialFailures ,
174
182
streamPackets : streamPackets ,
175
183
streamErrors : streamErrors ,
184
+ culledLeases : culledLeases ,
176
185
}
177
186
}
178
187
@@ -190,6 +199,11 @@ func (s *ServerMetrics) Reset() {
190
199
s .streamErrors .Reset ()
191
200
}
192
201
202
+ // CulledLeasesInc increments the number of leases that the GC controller has culled.
203
+ func (s * ServerMetrics ) CulledLeasesInc () {
204
+ s .culledLeases .Inc ()
205
+ }
206
+
193
207
// ObserveDialLatency records the latency of dial to the remote endpoint.
194
208
func (s * ServerMetrics ) ObserveDialLatency (elapsed time.Duration ) {
195
209
s .endpointLatencies .WithLabelValues ().Observe (elapsed .Seconds ())
0 commit comments