use gauge to replace meter

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2025-08-07 08:26:31 +08:00 committed by Gary Rong
parent f0c815e4c9
commit 2d71e2b382
2 changed files with 18 additions and 22 deletions

View file

@ -29,4 +29,14 @@ var (
storageTriesUpdatedMeter = metrics.NewRegisteredMeter("state/update/storagenodes", nil)
accountTrieDeletedMeter = metrics.NewRegisteredMeter("state/delete/accountnodes", nil)
storageTriesDeletedMeter = metrics.NewRegisteredMeter("state/delete/storagenodes", nil)
// State size metrics
accountCountGauge = metrics.NewRegisteredGauge("state/account/count", nil)
accountBytesGauge = metrics.NewRegisteredGauge("state/account/bytes", nil)
storageCountGauge = metrics.NewRegisteredGauge("state/storage/count", nil)
storageBytesGauge = metrics.NewRegisteredGauge("state/storage/bytes", nil)
trienodeCountGauge = metrics.NewRegisteredGauge("state/trienode/count", nil)
trienodeBytesGauge = metrics.NewRegisteredGauge("state/trienode/bytes", nil)
contractCountGauge = metrics.NewRegisteredGauge("state/contract/count", nil)
contractBytesGauge = metrics.NewRegisteredGauge("state/contract/bytes", nil)
)

View file

@ -26,25 +26,11 @@ import (
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethdb"
"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/metrics"
"github.com/ethereum/go-ethereum/rlp"
"github.com/ethereum/go-ethereum/triedb"
"golang.org/x/sync/errgroup"
)
// State size metrics
var (
// Baseline state size metrics
stateSizeAccountsCountMeter = metrics.NewRegisteredMeter("statedb/statesize/accounts/count", nil)
stateSizeAccountsBytesMeter = metrics.NewRegisteredMeter("statedb/statesize/accounts/bytes", nil)
stateSizeStorageCountMeter = metrics.NewRegisteredMeter("statedb/statesize/storage/count", nil)
stateSizeStorageBytesMeter = metrics.NewRegisteredMeter("statedb/statesize/storage/bytes", nil)
stateSizeTrieNodesCountMeter = metrics.NewRegisteredMeter("statedb/statesize/trienodes/count", nil)
stateSizeTrieNodesBytesMeter = metrics.NewRegisteredMeter("statedb/statesize/trienodes/bytes", nil)
stateSizeContractsCountMeter = metrics.NewRegisteredMeter("statedb/statesize/contracts/count", nil)
stateSizeContractsBytesMeter = metrics.NewRegisteredMeter("statedb/statesize/contracts/bytes", nil)
)
// StateSizeMetrics represents the current state size statistics
type StateSizeMetrics struct {
Root common.Hash // Root hash of the state trie
@ -494,14 +480,14 @@ func (g *StateSizeGenerator) iterateTable(ctx context.Context, prefix []byte, na
}
func (g *StateSizeGenerator) updateMetrics() {
stateSizeAccountsCountMeter.Mark(int64(g.metrics.AccountCount))
stateSizeAccountsBytesMeter.Mark(int64(g.metrics.AccountBytes))
stateSizeStorageCountMeter.Mark(int64(g.metrics.StorageCount))
stateSizeStorageBytesMeter.Mark(int64(g.metrics.StorageBytes))
stateSizeTrieNodesCountMeter.Mark(int64(g.metrics.TrieNodeCount))
stateSizeTrieNodesBytesMeter.Mark(int64(g.metrics.TrieNodeBytes))
stateSizeContractsCountMeter.Mark(int64(g.metrics.ContractCount))
stateSizeContractsBytesMeter.Mark(int64(g.metrics.ContractBytes))
accountCountGauge.Update(int64(g.metrics.AccountCount))
accountBytesGauge.Update(int64(g.metrics.AccountBytes))
storageCountGauge.Update(int64(g.metrics.StorageCount))
storageBytesGauge.Update(int64(g.metrics.StorageBytes))
trienodeCountGauge.Update(int64(g.metrics.TrieNodeCount))
trienodeBytesGauge.Update(int64(g.metrics.TrieNodeBytes))
contractCountGauge.Update(int64(g.metrics.ContractCount))
contractBytesGauge.Update(int64(g.metrics.ContractBytes))
}
// persistMetrics saves the current metrics to the database