Merge pull request #3810 from gyuho/storage_metrics_add_watcher_gauge

storage: add metrics to watcher
This commit is contained in:
Xiang Li
2015-11-04 13:09:07 -08:00
2 changed files with 12 additions and 1 deletions

View File

@@ -59,6 +59,14 @@ var (
Help: "Total number of keys.",
})
watcherGauge = prometheus.NewGauge(
prometheus.GaugeOpts{
Namespace: "etcd",
Subsystem: "storage",
Name: "watcher_total",
Help: "Total number of watchers.",
})
watchingGauge = prometheus.NewGauge(
prometheus.GaugeOpts{
Namespace: "etcd",
@@ -135,9 +143,10 @@ func init() {
prometheus.MustRegister(deleteCounter)
prometheus.MustRegister(txnCounter)
prometheus.MustRegister(keysGauge)
prometheus.MustRegister(watcherGauge)
prometheus.MustRegister(watchingGauge)
prometheus.MustRegister(totalEventsCounter)
prometheus.MustRegister(slowWatchingGauge)
prometheus.MustRegister(totalEventsCounter)
prometheus.MustRegister(pendingEventsGauge)
prometheus.MustRegister(indexCompactionPauseDurations)
prometheus.MustRegister(dbCompactionPauseDurations)

View File

@@ -56,6 +56,7 @@ func (ws *watcher) Watch(key []byte, prefix bool, startRev int64) CancelFunc {
}
// TODO: cancelFunc needs to be removed from the cancels when it is called.
ws.cancels = append(ws.cancels, c)
watcherGauge.Inc()
return c
}
@@ -72,4 +73,5 @@ func (ws *watcher) Close() {
}
ws.closed = true
close(ws.ch)
watcherGauge.Dec()
}