Skip to content

Commit

Permalink
Merge pull request #97 from hexfusion/cp-defrag-inflight
Browse files Browse the repository at this point in the history
UPSTREAM: <carry>: storage/backend: Add a gauge to indicate if defrag is active
  • Loading branch information
openshift-merge-robot authored Oct 12, 2021
2 parents aa069e9 + f6bdbad commit 177f8e7
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
2 changes: 2 additions & 0 deletions server/mvcc/backend/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,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 server/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 177f8e7

Please sign in to comment.