Skip to content

Commit

Permalink
Merge pull request #10968 from gyuho/mmm
Browse files Browse the repository at this point in the history
mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total"
  • Loading branch information
gyuho authored Aug 1, 2019
2 parents 05b2f96 + 328fdc2 commit b679c12
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 19 deletions.
6 changes: 3 additions & 3 deletions mvcc/kvstore.go
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
34 changes: 25 additions & 9 deletions mvcc/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -36,7 +43,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{
Expand All @@ -53,7 +59,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{
Expand All @@ -64,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",
Expand Down Expand Up @@ -180,21 +192,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",
Expand Down Expand Up @@ -256,9 +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)
Expand All @@ -270,7 +286,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)
Expand Down
20 changes: 13 additions & 7 deletions mvcc/metrics_txn.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,18 @@ func (tw *metricsTxnWrite) End() {
defer tw.TxnWrite.End()
if sum := tw.ranges + tw.puts + tw.deletes; sum > 1 {
txnCounter.Inc()
txnCounterDebug.Inc() // TODO: remove in 3.5 release
}
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))

ranges := float64(tw.ranges)
rangeCounter.Add(ranges)
rangeCounterDebug.Add(ranges) // TODO: remove in 3.5 release

puts := float64(tw.puts)
putCounter.Add(puts)
putCounterDebug.Add(puts) // TODO: remove in 3.5 release

deletes := float64(tw.deletes)
deleteCounter.Add(deletes)
deleteCounterDebug.Add(deletes) // TODO: remove in 3.5 release
}

0 comments on commit b679c12

Please sign in to comment.