From 92cd26cae052cc3952f9b006ffab91eea620b96e Mon Sep 17 00:00:00 2001 From: Miki Noir Date: Fri, 22 May 2026 05:33:21 +0200 Subject: [PATCH] core: add code cache hit/miss meters (#34821) --- core/blockchain.go | 4 ++++ core/blockchain_stats.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/core/blockchain.go b/core/blockchain.go index 7b5a910b7a..23b4169372 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -84,11 +84,15 @@ 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) storageCacheHitPrefetchMeter = metrics.NewRegisteredMeter("chain/storage/reads/cache/prefetch/hit", nil) storageCacheMissPrefetchMeter = metrics.NewRegisteredMeter("chain/storage/reads/cache/prefetch/miss", nil) + codeCacheHitPrefetchMeter = metrics.NewRegisteredMeter("chain/code/reads/cache/prefetch/hit", nil) + codeCacheMissPrefetchMeter = metrics.NewRegisteredMeter("chain/code/reads/cache/prefetch/miss", nil) accountReadSingleTimer = metrics.NewRegisteredResettingTimer("chain/account/single/reads", nil) storageReadSingleTimer = metrics.NewRegisteredResettingTimer("chain/storage/single/reads", nil) diff --git a/core/blockchain_stats.go b/core/blockchain_stats.go index d753b0b700..4f518a34d8 100644 --- a/core/blockchain_stats.go +++ b/core/blockchain_stats.go @@ -96,11 +96,15 @@ func (s *ExecuteStats) reportMetrics() { accountCacheMissPrefetchMeter.Mark(s.StatePrefetchCacheStats.StateStats.AccountCacheMiss) storageCacheHitPrefetchMeter.Mark(s.StatePrefetchCacheStats.StateStats.StorageCacheHit) storageCacheMissPrefetchMeter.Mark(s.StatePrefetchCacheStats.StateStats.StorageCacheMiss) + codeCacheHitPrefetchMeter.Mark(s.StatePrefetchCacheStats.CodeStats.CacheHit) + codeCacheMissPrefetchMeter.Mark(s.StatePrefetchCacheStats.CodeStats.CacheMiss) accountCacheHitMeter.Mark(s.StateReadCacheStats.StateStats.AccountCacheHit) 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.