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) storageTriesUpdatedMeter = metrics.NewRegisteredMeter("state/update/storagenodes", nil)
accountTrieDeletedMeter = metrics.NewRegisteredMeter("state/delete/accountnodes", nil) accountTrieDeletedMeter = metrics.NewRegisteredMeter("state/delete/accountnodes", nil)
storageTriesDeletedMeter = metrics.NewRegisteredMeter("state/delete/storagenodes", 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/crypto"
"github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/ethdb"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/metrics"
"github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rlp"
"github.com/ethereum/go-ethereum/triedb" "github.com/ethereum/go-ethereum/triedb"
"golang.org/x/sync/errgroup" "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 // StateSizeMetrics represents the current state size statistics
type StateSizeMetrics struct { type StateSizeMetrics struct {
Root common.Hash // Root hash of the state trie 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() { func (g *StateSizeGenerator) updateMetrics() {
stateSizeAccountsCountMeter.Mark(int64(g.metrics.AccountCount)) accountCountGauge.Update(int64(g.metrics.AccountCount))
stateSizeAccountsBytesMeter.Mark(int64(g.metrics.AccountBytes)) accountBytesGauge.Update(int64(g.metrics.AccountBytes))
stateSizeStorageCountMeter.Mark(int64(g.metrics.StorageCount)) storageCountGauge.Update(int64(g.metrics.StorageCount))
stateSizeStorageBytesMeter.Mark(int64(g.metrics.StorageBytes)) storageBytesGauge.Update(int64(g.metrics.StorageBytes))
stateSizeTrieNodesCountMeter.Mark(int64(g.metrics.TrieNodeCount)) trienodeCountGauge.Update(int64(g.metrics.TrieNodeCount))
stateSizeTrieNodesBytesMeter.Mark(int64(g.metrics.TrieNodeBytes)) trienodeBytesGauge.Update(int64(g.metrics.TrieNodeBytes))
stateSizeContractsCountMeter.Mark(int64(g.metrics.ContractCount)) contractCountGauge.Update(int64(g.metrics.ContractCount))
stateSizeContractsBytesMeter.Mark(int64(g.metrics.ContractBytes)) contractBytesGauge.Update(int64(g.metrics.ContractBytes))
} }
// persistMetrics saves the current metrics to the database // persistMetrics saves the current metrics to the database