From 25d3b5d88b1fc25ee1acfa7b0437fcfa8d78a40e Mon Sep 17 00:00:00 2001 From: Gary Rong Date: Wed, 16 Jul 2025 09:05:37 +0800 Subject: [PATCH] triedb/pathdb: track state count Signed-off-by: jsvisa --- triedb/pathdb/lookup.go | 12 ++++++++++++ triedb/pathdb/metrics.go | 2 ++ 2 files changed, 14 insertions(+) diff --git a/triedb/pathdb/lookup.go b/triedb/pathdb/lookup.go index e4239a55e1..65b74b1e38 100644 --- a/triedb/pathdb/lookup.go +++ b/triedb/pathdb/lookup.go @@ -301,6 +301,18 @@ func (l *lookup) addLayer(diff *diffLayer) { l.addStorageNodes(state, diff.nodes.storageNodes) }() + states := len(diff.states.accountData) + for _, slots := range diff.states.storageData { + states += len(slots) + } + lookupStateMeter.Mark(int64(states)) + + trienodes := len(diff.nodes.accountNodes) + for _, nodes := range diff.nodes.storageNodes { + trienodes += len(nodes) + } + lookupTrienodeMeter.Mark(int64(trienodes)) + wg.Wait() } diff --git a/triedb/pathdb/metrics.go b/triedb/pathdb/metrics.go index 0ee0d84748..98381832ec 100644 --- a/triedb/pathdb/metrics.go +++ b/triedb/pathdb/metrics.go @@ -89,6 +89,8 @@ var ( lookupRemoveLayerTimer = metrics.NewRegisteredResettingTimer("pathdb/lookup/remove/time", nil) lookupAddTrienodeLayerTimer = metrics.NewRegisteredResettingTimer("pathdb/lookup/trienode/add/time", nil) lookupRemoveTrienodeLayerTimer = metrics.NewRegisteredResettingTimer("pathdb/lookup/trienode/remove/time", nil) + lookupStateMeter = metrics.NewRegisteredMeter("pathdb/lookup/state/count", nil) + lookupTrienodeMeter = metrics.NewRegisteredMeter("pathdb/lookup/trienode/count", nil) historicalAccountReadTimer = metrics.NewRegisteredResettingTimer("pathdb/history/account/reads", nil) historicalStorageReadTimer = metrics.NewRegisteredResettingTimer("pathdb/history/storage/reads", nil)