Merge pull request #17291 from rahulbapumore/backport-feature

[3.5] mvcc: Printing etcd backend database related metrics inside scheduleCompaction function
This commit is contained in:
Benjamin Wang 2024-01-23 10:05:07 +00:00 committed by GitHub
commit c7bcb5fa40
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -20,6 +20,7 @@ import (
"time"
"go.etcd.io/etcd/server/v3/mvcc/buckets"
humanize "github.com/dustin/go-humanize"
"go.uber.org/zap"
)
@ -63,11 +64,16 @@ func (s *store) scheduleCompaction(compactMainRev, prevCompactRev int64) (KeyVal
tx.UnsafePut(buckets.Meta, finishedCompactKeyName, rbytes)
tx.Unlock()
hash := h.Hash()
size, sizeInUse := s.b.Size(), s.b.SizeInUse()
s.lg.Info(
"finished scheduled compaction",
zap.Int64("compact-revision", compactMainRev),
zap.Duration("took", time.Since(totalStart)),
zap.Uint32("hash", hash.Hash),
zap.Int64("current-db-size-bytes", size),
zap.String("current-db-size", humanize.Bytes(uint64(size))),
zap.Int64("current-db-size-in-use-bytes", sizeInUse),
zap.String("current-db-size-in-use", humanize.Bytes(uint64(sizeInUse))),
)
return hash, nil
}