Skip to content

Commit

Permalink
Revert "ethdb/leveldb: support more than 7 levels in metrics (ethereu…
Browse files Browse the repository at this point in the history
…m#27904)"

This reverts commit 4c8cdb4.
  • Loading branch information
devopsbo3 authored Nov 10, 2023
1 parent ca9b09f commit 8d492d8
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions ethdb/leveldb/leveldb.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ type Database struct {
seekCompGauge metrics.Gauge // Gauge for tracking the number of table compaction caused by read opt
manualMemAllocGauge metrics.Gauge // Gauge to track the amount of memory that has been manually allocated (not a part of runtime/GC)

levelsGauge []metrics.Gauge // Gauge for tracking the number of tables in levels
levelsGauge [7]metrics.Gauge // Gauge for tracking the number of tables in levels

quitLock sync.Mutex // Mutex protecting the quit channel access
quitChan chan chan error // Quit channel to stop the metrics collection before closing the database
Expand Down Expand Up @@ -146,8 +146,13 @@ func NewCustom(file string, namespace string, customize func(options *opt.Option
ldb.seekCompGauge = metrics.NewRegisteredGauge(namespace+"compact/seek", nil)
ldb.manualMemAllocGauge = metrics.NewRegisteredGauge(namespace+"memory/manualalloc", nil)

// leveldb has only up to 7 levels
for i := range ldb.levelsGauge {
ldb.levelsGauge[i] = metrics.NewRegisteredGauge(namespace+fmt.Sprintf("tables/level%v", i), nil)
}

// Start up the metrics gathering and return
go ldb.meter(metricsGatheringInterval, namespace)
go ldb.meter(metricsGatheringInterval)
return ldb, nil
}

Expand Down Expand Up @@ -266,7 +271,7 @@ func (db *Database) Path() string {

// meter periodically retrieves internal leveldb counters and reports them to
// the metrics subsystem.
func (db *Database) meter(refresh time.Duration, namespace string) {
func (db *Database) meter(refresh time.Duration) {
// Create the counters to store current and previous compaction values
compactions := make([][]int64, 2)
for i := 0; i < 2; i++ {
Expand Down Expand Up @@ -355,11 +360,8 @@ func (db *Database) meter(refresh time.Duration, namespace string) {
db.nonlevel0CompGauge.Update(int64(stats.NonLevel0Comp))
db.seekCompGauge.Update(int64(stats.SeekComp))

// update tables amount
for i, tables := range stats.LevelTablesCounts {
// Append metrics for additional layers
if i >= len(db.levelsGauge) {
db.levelsGauge = append(db.levelsGauge, metrics.NewRegisteredGauge(namespace+fmt.Sprintf("tables/level%v", i), nil))
}
db.levelsGauge[i].Update(int64(tables))
}

Expand Down

0 comments on commit 8d492d8

Please sign in to comment.