mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-05-24 16:59:26 +00:00
core: add code cache hit/miss meters
- register `codeCacheHitMeter` / `codeCacheMissMeter` under `chain/code/reads/cache/process/{hit,miss}`, mirroring the account/storage pair
- wire them from `StateReadCacheStats.CodeStats` in `reportMetrics()` so the data already exposed in the slow-block JSON is also scrapable from Prometheus
- code cache efficiency matters — bytecode misses can be tens of KB each, so operators need a live meter, not just slow-block postmortems
This commit is contained in:
parent
b70d9a4b8e
commit
120bd3ad36
2 changed files with 4 additions and 0 deletions
|
|
@ -84,6 +84,8 @@ var (
|
|||
accountCacheMissMeter = metrics.NewRegisteredMeter("chain/account/reads/cache/process/miss", nil)
|
||||
storageCacheHitMeter = metrics.NewRegisteredMeter("chain/storage/reads/cache/process/hit", nil)
|
||||
storageCacheMissMeter = metrics.NewRegisteredMeter("chain/storage/reads/cache/process/miss", nil)
|
||||
codeCacheHitMeter = metrics.NewRegisteredMeter("chain/code/reads/cache/process/hit", nil)
|
||||
codeCacheMissMeter = metrics.NewRegisteredMeter("chain/code/reads/cache/process/miss", nil)
|
||||
|
||||
accountCacheHitPrefetchMeter = metrics.NewRegisteredMeter("chain/account/reads/cache/prefetch/hit", nil)
|
||||
accountCacheMissPrefetchMeter = metrics.NewRegisteredMeter("chain/account/reads/cache/prefetch/miss", nil)
|
||||
|
|
|
|||
|
|
@ -101,6 +101,8 @@ func (s *ExecuteStats) reportMetrics() {
|
|||
accountCacheMissMeter.Mark(s.StateReadCacheStats.StateStats.AccountCacheMiss)
|
||||
storageCacheHitMeter.Mark(s.StateReadCacheStats.StateStats.StorageCacheHit)
|
||||
storageCacheMissMeter.Mark(s.StateReadCacheStats.StateStats.StorageCacheMiss)
|
||||
codeCacheHitMeter.Mark(s.StateReadCacheStats.CodeStats.CacheHit)
|
||||
codeCacheMissMeter.Mark(s.StateReadCacheStats.CodeStats.CacheMiss)
|
||||
}
|
||||
|
||||
// slowBlockLog represents the JSON structure for slow block logging.
|
||||
|
|
|
|||
Loading…
Reference in a new issue