From dd443be41b3453f50b945baa366ef9e5d6a50a87 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Fri, 28 Aug 2015 15:16:53 -0700 Subject: [PATCH 1/2] storage: report total number of keys --- storage/key_index.go | 5 ++++- storage/metrics.go | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/storage/key_index.go b/storage/key_index.go index 4439c46b5..f100d9f81 100644 --- a/storage/key_index.go +++ b/storage/key_index.go @@ -70,7 +70,8 @@ func (ki *keyIndex) put(main int64, sub int64) { ki.generations = append(ki.generations, generation{}) } g := &ki.generations[len(ki.generations)-1] - if len(g.revs) == 0 { + if len(g.revs) == 0 { // create a new key + keysGauge.Inc() g.created = rev } g.revs = append(g.revs, rev) @@ -86,6 +87,7 @@ func (ki *keyIndex) restore(created, modified revision, ver int64) { ki.modified = modified g := generation{created: created, ver: ver, revs: []revision{modified}} ki.generations = append(ki.generations, g) + keysGauge.Inc() } // tombstone puts a revision, pointing to a tombstone, to the keyIndex. @@ -100,6 +102,7 @@ func (ki *keyIndex) tombstone(main int64, sub int64) error { } ki.put(main, sub) ki.generations = append(ki.generations, generation{}) + keysGauge.Dec() return nil } diff --git a/storage/metrics.go b/storage/metrics.go index d677c879b..dc7f4e01c 100644 --- a/storage/metrics.go +++ b/storage/metrics.go @@ -51,6 +51,14 @@ var ( Help: "Total number of txns seen by this member.", }) + keysGauge = prometheus.NewGauge( + prometheus.GaugeOpts{ + Namespace: "etcd", + Subsystem: "storage", + Name: "keys_total", + Help: "Total number of keys.", + }) + indexCompactionPauseDurations = prometheus.NewHistogram( prometheus.HistogramOpts{ Namespace: "etcd", @@ -86,6 +94,7 @@ func init() { prometheus.MustRegister(rangeCounter) prometheus.MustRegister(putCounter) prometheus.MustRegister(deleteCounter) + prometheus.MustRegister(keysGauge) prometheus.MustRegister(indexCompactionPauseDurations) prometheus.MustRegister(dbCompactionPauseDurations) prometheus.MustRegister(dbCompactionTotalDurations) From b9632e0f8dbace1dd342e4c6cf054949a7bf8e7a Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Fri, 28 Aug 2015 15:17:16 -0700 Subject: [PATCH 2/2] storage: register txnCounter --- storage/metrics.go | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/metrics.go b/storage/metrics.go index dc7f4e01c..a38f9ac72 100644 --- a/storage/metrics.go +++ b/storage/metrics.go @@ -94,6 +94,7 @@ func init() { prometheus.MustRegister(rangeCounter) prometheus.MustRegister(putCounter) prometheus.MustRegister(deleteCounter) + prometheus.MustRegister(txnCounter) prometheus.MustRegister(keysGauge) prometheus.MustRegister(indexCompactionPauseDurations) prometheus.MustRegister(dbCompactionPauseDurations)