Skip to content

Commit

Permalink
Merge pull request #13397 from geetasg/release-3.4
Browse files Browse the repository at this point in the history
storage/backend: Add a gauge to indicate if defrag is active (backport)
  • Loading branch information
ptabor authored Oct 7, 2021
2 parents 1eac258 + 85abf6e commit eb9cee9
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
2 changes: 2 additions & 0 deletions mvcc/backend/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,8 @@ func (b *backend) Defrag() error {

func (b *backend) defrag() error {
now := time.Now()
isDefragActive.Set(1)
defer isDefragActive.Set(0)

// TODO: make this non-blocking?
// lock batchTx to ensure nobody is using previous tx, and then
Expand Down
8 changes: 8 additions & 0 deletions mvcc/backend/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ var (
// highest bucket start of 0.01 sec * 2^16 == 655.36 sec
Buckets: prometheus.ExponentialBuckets(.01, 2, 17),
})

isDefragActive = prometheus.NewGauge(prometheus.GaugeOpts{
Namespace: "etcd",
Subsystem: "disk",
Name: "defrag_inflight",
Help: "Whether or not defrag is active on the member. 1 means active, 0 means not.",
})
)

func init() {
Expand All @@ -92,4 +99,5 @@ func init() {
prometheus.MustRegister(writeSec)
prometheus.MustRegister(defragSec)
prometheus.MustRegister(snapshotTransferSec)
prometheus.MustRegister(isDefragActive)
}

0 comments on commit eb9cee9

Please sign in to comment.