From dde3c5fc403ea316ef559e881b6e5493ea6d3ed2 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Thu, 1 Aug 2019 14:03:32 -0700 Subject: [PATCH 1/3] mvcc: clean up metrics names, add missing register calls Signed-off-by: Gyuho Lee --- mvcc/kvstore.go | 6 +++--- mvcc/metrics.go | 18 +++++++++--------- mvcc/metrics_txn.go | 14 ++++++++------ 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/mvcc/kvstore.go b/mvcc/kvstore.go index bc6b895ed..bc9d3007e 100644 --- a/mvcc/kvstore.go +++ b/mvcc/kvstore.go @@ -348,9 +348,9 @@ func (s *store) restore() error { reportDbTotalSizeInBytesMu.Lock() reportDbTotalSizeInBytes = func() float64 { return float64(b.Size()) } reportDbTotalSizeInBytesMu.Unlock() - reportDbTotalSizeInBytesDebuggingMu.Lock() - reportDbTotalSizeInBytesDebugging = func() float64 { return float64(b.Size()) } - reportDbTotalSizeInBytesDebuggingMu.Unlock() + reportDbTotalSizeInBytesDebugMu.Lock() + reportDbTotalSizeInBytesDebug = func() float64 { return float64(b.Size()) } + reportDbTotalSizeInBytesDebugMu.Unlock() reportDbTotalSizeInUseInBytesMu.Lock() reportDbTotalSizeInUseInBytes = func() float64 { return float64(b.SizeInUse()) } reportDbTotalSizeInUseInBytesMu.Unlock() diff --git a/mvcc/metrics.go b/mvcc/metrics.go index d62866897..82e9e3dee 100644 --- a/mvcc/metrics.go +++ b/mvcc/metrics.go @@ -36,7 +36,6 @@ var ( Name: "put_total", Help: "Total number of puts seen by this member.", }) - // TODO: remove in 3.5 release putCounterDebug = prometheus.NewCounter( prometheus.CounterOpts{ @@ -53,7 +52,6 @@ var ( Name: "delete_total", Help: "Total number of deletes seen by this member.", }) - // TODO: remove in 3.5 release deleteCounterDebug = prometheus.NewCounter( prometheus.CounterOpts{ @@ -180,21 +178,21 @@ var ( reportDbTotalSizeInBytes = func() float64 { return 0 } // TODO: remove this in v3.5 - dbTotalSizeDebugging = prometheus.NewGaugeFunc(prometheus.GaugeOpts{ + dbTotalSizeDebug = prometheus.NewGaugeFunc(prometheus.GaugeOpts{ Namespace: "etcd_debugging", Subsystem: "mvcc", Name: "db_total_size_in_bytes", Help: "Total size of the underlying database physically allocated in bytes.", }, func() float64 { - reportDbTotalSizeInBytesDebuggingMu.RLock() - defer reportDbTotalSizeInBytesDebuggingMu.RUnlock() - return reportDbTotalSizeInBytesDebugging() + reportDbTotalSizeInBytesDebugMu.RLock() + defer reportDbTotalSizeInBytesDebugMu.RUnlock() + return reportDbTotalSizeInBytesDebug() }, ) // overridden by mvcc initialization - reportDbTotalSizeInBytesDebuggingMu sync.RWMutex - reportDbTotalSizeInBytesDebugging = func() float64 { return 0 } + reportDbTotalSizeInBytesDebugMu sync.RWMutex + reportDbTotalSizeInBytesDebug = func() float64 { return 0 } dbTotalSizeInUse = prometheus.NewGaugeFunc(prometheus.GaugeOpts{ Namespace: "etcd", @@ -257,7 +255,9 @@ var ( func init() { prometheus.MustRegister(rangeCounter) prometheus.MustRegister(putCounter) + prometheus.MustRegister(putCounterDebug) prometheus.MustRegister(deleteCounter) + prometheus.MustRegister(deleteCounterDebug) prometheus.MustRegister(txnCounter) prometheus.MustRegister(keysGauge) prometheus.MustRegister(watchStreamGauge) @@ -270,7 +270,7 @@ func init() { prometheus.MustRegister(dbCompactionTotalMs) prometheus.MustRegister(dbCompactionKeysCounter) prometheus.MustRegister(dbTotalSize) - prometheus.MustRegister(dbTotalSizeDebugging) + prometheus.MustRegister(dbTotalSizeDebug) prometheus.MustRegister(dbTotalSizeInUse) prometheus.MustRegister(dbOpenReadTxN) prometheus.MustRegister(hashSec) diff --git a/mvcc/metrics_txn.go b/mvcc/metrics_txn.go index e882f2b36..a8f06ca5e 100644 --- a/mvcc/metrics_txn.go +++ b/mvcc/metrics_txn.go @@ -52,10 +52,12 @@ func (tw *metricsTxnWrite) End() { txnCounter.Inc() } rangeCounter.Add(float64(tw.ranges)) - putCounter.Add(float64(tw.puts)) - // TODO: remove in 3.5 release - putCounterDebug.Add(float64(tw.puts)) - deleteCounter.Add(float64(tw.deletes)) - // TODO: remove in 3.5 release - deleteCounterDebug.Add(float64(tw.deletes)) + + puts := float64(tw.puts) + putCounter.Add(puts) + putCounterDebug.Add(puts) + + deletes := float64(tw.deletes) + deleteCounter.Add(deletes) + deleteCounterDebug.Add(deletes) } From f82e23ab527c4e251277b0d6b5dbd6a87d0421b0 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Thu, 1 Aug 2019 14:09:48 -0700 Subject: [PATCH 2/3] mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total" Signed-off-by: Gyuho Lee --- mvcc/metrics.go | 16 ++++++++++++++++ mvcc/metrics_txn.go | 6 +++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/mvcc/metrics.go b/mvcc/metrics.go index 82e9e3dee..9bcbc8fe3 100644 --- a/mvcc/metrics.go +++ b/mvcc/metrics.go @@ -22,6 +22,13 @@ import ( var ( rangeCounter = prometheus.NewCounter( + prometheus.CounterOpts{ + Namespace: "etcd", + Subsystem: "mvcc", + Name: "range_total", + Help: "Total number of ranges seen by this member.", + }) + rangeCounterDebug = prometheus.NewCounter( prometheus.CounterOpts{ Namespace: "etcd_debugging", Subsystem: "mvcc", @@ -62,6 +69,13 @@ var ( }) txnCounter = prometheus.NewCounter( + prometheus.CounterOpts{ + Namespace: "etcd", + Subsystem: "mvcc", + Name: "txn_total", + Help: "Total number of txns seen by this member.", + }) + txnCounterDebug = prometheus.NewCounter( prometheus.CounterOpts{ Namespace: "etcd_debugging", Subsystem: "mvcc", @@ -254,11 +268,13 @@ var ( func init() { prometheus.MustRegister(rangeCounter) + prometheus.MustRegister(rangeCounterDebug) prometheus.MustRegister(putCounter) prometheus.MustRegister(putCounterDebug) prometheus.MustRegister(deleteCounter) prometheus.MustRegister(deleteCounterDebug) prometheus.MustRegister(txnCounter) + prometheus.MustRegister(txnCounterDebug) prometheus.MustRegister(keysGauge) prometheus.MustRegister(watchStreamGauge) prometheus.MustRegister(watcherGauge) diff --git a/mvcc/metrics_txn.go b/mvcc/metrics_txn.go index a8f06ca5e..270903c18 100644 --- a/mvcc/metrics_txn.go +++ b/mvcc/metrics_txn.go @@ -50,8 +50,12 @@ func (tw *metricsTxnWrite) End() { defer tw.TxnWrite.End() if sum := tw.ranges + tw.puts + tw.deletes; sum > 1 { txnCounter.Inc() + txnCounterDebug.Inc() } - rangeCounter.Add(float64(tw.ranges)) + + ranges := float64(tw.ranges) + rangeCounter.Add(ranges) + rangeCounterDebug.Add(ranges) puts := float64(tw.puts) putCounter.Add(puts) From 328fdc21501fc403b9c0ee68c479dc138aae9597 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Thu, 1 Aug 2019 14:45:12 -0700 Subject: [PATCH 3/3] mvcc: add TODOs Signed-off-by: Gyuho Lee --- mvcc/metrics_txn.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mvcc/metrics_txn.go b/mvcc/metrics_txn.go index 270903c18..64b629c78 100644 --- a/mvcc/metrics_txn.go +++ b/mvcc/metrics_txn.go @@ -50,18 +50,18 @@ func (tw *metricsTxnWrite) End() { defer tw.TxnWrite.End() if sum := tw.ranges + tw.puts + tw.deletes; sum > 1 { txnCounter.Inc() - txnCounterDebug.Inc() + txnCounterDebug.Inc() // TODO: remove in 3.5 release } ranges := float64(tw.ranges) rangeCounter.Add(ranges) - rangeCounterDebug.Add(ranges) + rangeCounterDebug.Add(ranges) // TODO: remove in 3.5 release puts := float64(tw.puts) putCounter.Add(puts) - putCounterDebug.Add(puts) + putCounterDebug.Add(puts) // TODO: remove in 3.5 release deletes := float64(tw.deletes) deleteCounter.Add(deletes) - deleteCounterDebug.Add(deletes) + deleteCounterDebug.Add(deletes) // TODO: remove in 3.5 release }