From 9aba6895b939c49896902f60fe58cc32a569efdd Mon Sep 17 00:00:00 2001 From: Delweng Date: Fri, 7 Mar 2025 18:23:19 +0800 Subject: [PATCH] core/rawdb,state: add preimage miss metric (#31295) 1. The metric of preimage/hits are always the same as preimage/total, prefer to replace the hits with miss instead. 2. For the state/read/accounts metric, follow the same naming of others, change into singuar. --- core/rawdb/accessors_state.go | 6 +++++- core/rawdb/schema.go | 5 +++-- core/state/metrics.go | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/core/rawdb/accessors_state.go b/core/rawdb/accessors_state.go index 9ce58e7d27..adc77fae83 100644 --- a/core/rawdb/accessors_state.go +++ b/core/rawdb/accessors_state.go @@ -27,6 +27,11 @@ import ( // ReadPreimage retrieves a single preimage of the provided hash. func ReadPreimage(db ethdb.KeyValueReader, hash common.Hash) []byte { data, _ := db.Get(preimageKey(hash)) + if len(data) == 0 { + preimageMissCounter.Inc(1) + } else { + preimageHitsCounter.Inc(1) + } return data } @@ -38,7 +43,6 @@ func WritePreimages(db ethdb.KeyValueWriter, preimages map[common.Hash][]byte) { } } preimageCounter.Inc(int64(len(preimages))) - preimageHitCounter.Inc(int64(len(preimages))) } // ReadCode retrieves the contract code of the provided code hash. diff --git a/core/rawdb/schema.go b/core/rawdb/schema.go index 3d5d757a86..5480c7a72c 100644 --- a/core/rawdb/schema.go +++ b/core/rawdb/schema.go @@ -145,8 +145,9 @@ var ( FixedCommitteeRootKey = []byte("fixedRoot-") // bigEndian64(syncPeriod) -> committee root hash SyncCommitteeKey = []byte("committee-") // bigEndian64(syncPeriod) -> serialized committee - preimageCounter = metrics.NewRegisteredCounter("db/preimage/total", nil) - preimageHitCounter = metrics.NewRegisteredCounter("db/preimage/hits", nil) + preimageCounter = metrics.NewRegisteredCounter("db/preimage/total", nil) + preimageHitsCounter = metrics.NewRegisteredCounter("db/preimage/hits", nil) + preimageMissCounter = metrics.NewRegisteredCounter("db/preimage/miss", nil) ) // LegacyTxLookupEntry is the legacy TxLookupEntry definition with some unnecessary diff --git a/core/state/metrics.go b/core/state/metrics.go index fb45bc4b84..dd4b2e9838 100644 --- a/core/state/metrics.go +++ b/core/state/metrics.go @@ -19,7 +19,7 @@ package state import "github.com/ethereum/go-ethereum/metrics" var ( - accountReadMeters = metrics.NewRegisteredMeter("state/read/accounts", nil) + accountReadMeters = metrics.NewRegisteredMeter("state/read/account", nil) storageReadMeters = metrics.NewRegisteredMeter("state/read/storage", nil) accountUpdatedMeter = metrics.NewRegisteredMeter("state/update/account", nil) storageUpdatedMeter = metrics.NewRegisteredMeter("state/update/storage", nil)