go-ethereum/core/state
rjl493456442 c7b8924fe4
core/state: expose the state reader stats (#31998)
This pull request introduces a mechanism to expose statistics from the
state reader, specifically related to cache utilization during state prefetching.

To improve state access performance, a pair of state readers is constructed 
with a shared local cache. One reader to execute transactions  ahead of time
to warm up the cache. The other reader is used by the actual chain processing 
logic, which can benefit from the prefetched states.

This PR adds visibility into how effective the cache is by exposing relevant 
usage statistics.

---------

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-06-21 12:58:04 +08:00
..
pruner all: clean up goerli flag and config (#30289) 2024-08-20 15:59:48 +02:00
snapshot core, triedb/pathdb: final integration (snapshot integration pt 5) (#30661) 2025-05-16 18:29:38 +08:00
access_events.go core/state, core/vm: update stateless gas costs to follow the verkle-gen-7 testnet (#31014) 2025-05-15 20:43:52 +08:00
access_events_test.go core/state, core/vm: update stateless gas costs to follow the verkle-gen-7 testnet (#31014) 2025-05-15 20:43:52 +08:00
access_list.go core/state: remove pointless wrapper functions (#30891) 2024-12-11 11:05:59 +01:00
database.go core/state: expose the state reader stats (#31998) 2025-06-21 12:58:04 +08:00
dump.go fix: skip storage entries with missing preimage keys (#32051) 2025-06-17 20:13:03 +08:00
iterator.go core/state: introduce code reader interface (#30816) 2024-11-29 15:32:45 +01:00
iterator_test.go core/state: state reader abstraction (#29761) 2024-09-05 13:10:47 +03:00
journal.go core/state: fix copy of storageChange (#31874) 2025-05-23 13:10:10 +02:00
metrics.go core/rawdb,state: add preimage miss metric (#31295) 2025-03-07 11:23:19 +01:00
reader.go core/state: expose the state reader stats (#31998) 2025-06-21 12:58:04 +08:00
state_object.go all: reuse the global hash buffer (#31839) 2025-06-18 15:29:14 +08:00
state_object_test.go build: use golangci-lint (#20295) 2019-11-18 10:49:17 +02:00
state_test.go all: implement state history v2 (#30107) 2025-01-17 02:59:02 +01:00
statedb.go all: reuse the global hash buffer (#31839) 2025-06-18 15:29:14 +08:00
statedb_fuzz_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
statedb_hooked.go core/tracing: state journal wrapper (#30441) 2025-02-05 13:58:25 +01:00
statedb_hooked_test.go core/tracing: stringer for gas and nonce change reasons (#31234) 2025-02-28 12:53:56 +01:00
statedb_test.go eth/filters: add timestamp to derived logs (#31887) 2025-06-10 11:52:02 +02:00
stateupdate.go all: implement state history v2 (#30107) 2025-01-17 02:59:02 +01:00
sync.go core,eth,internal: fix typo (#29024) 2024-02-20 19:42:48 +08:00
sync_test.go all: implement state history v2 (#30107) 2025-01-17 02:59:02 +01:00
transient_storage.go core/state: better randomized testing (postcheck) on journalling (#29627) 2024-04-25 09:56:25 +02:00
trie_prefetcher.go metrics, cmd/geth: change init-process of metrics (#30814) 2024-12-10 13:27:29 +01:00
trie_prefetcher_test.go all: implement state history v2 (#30107) 2025-01-17 02:59:02 +01:00