go-ethereum/core
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
..
filtermaps core/filtermaps: remove filter base row cache, add group read (#31852) 2025-06-03 12:54:13 +02:00
forkid params: add prague timestamp for mainnet (#31535) 2025-04-17 10:46:00 +02:00
history core: initialize history pruning in BlockChain (#31636) 2025-04-15 14:32:46 +02:00
rawdb ethdb: Implement DeleteRange in batch (#31947) 2025-06-20 19:40:41 +08:00
state core/state: expose the state reader stats (#31998) 2025-06-21 12:58:04 +08:00
stateless beacon, core, eth, miner: integrate witnesses into production Geth (#30069) 2024-09-20 16:43:42 +03:00
tracing core/tracing: stringer for gas and nonce change reasons (#31234) 2025-02-28 12:53:56 +01:00
txpool core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
types eth/filters: add timestamp to derived logs (#31887) 2025-06-10 11:52:02 +02:00
vm core/vm: implement updates to modexp gas cost changes in EIP-7883 (#32015) 2025-06-13 14:01:50 +02:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
block_validator.go core/types: create block's bloom by merging receipts' bloom (#31129) 2025-02-13 18:05:58 +01:00
block_validator_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain.go core/state: expose the state reader stats (#31998) 2025-06-21 12:58:04 +08:00
blockchain_insert.go metrics: add chain/gas for cumulative gas usage (#32004) 2025-06-12 20:30:54 +08:00
blockchain_reader.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_repair_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_sethead_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_snapshot_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
chain_makers.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
chain_makers_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
dao_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
error.go core, eth/downloader: implement pruning mode sync (#31414) 2025-04-03 15:16:35 +02:00
events.go core, eth, ethstats: simplify chain head events (#30601) 2024-10-16 10:32:58 +03:00
evm.go params,core: add max and target value to chain config (#31002) 2025-02-04 15:43:18 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05:00
gen_genesis.go core: go fmt (#29544) 2024-04-16 15:42:16 +03:00
genesis.go core: apply overrides to mainnet chainconfig (#31733) 2025-04-29 08:29:56 +02:00
genesis_alloc.go params: add hoodi testnet definition (#31406) 2025-03-18 12:07:49 +01:00
genesis_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
headerchain.go core, ethdb: introduce database sync function (#31703) 2025-05-08 19:10:26 +08:00
headerchain_test.go all: nuke total difficulty (#30744) 2025-01-28 18:55:41 +01:00
mkalloc.go accounts, cmd/geth, core: close opened files (#29598) 2024-04-30 15:47:21 +02:00
rlp_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
sender_cacher.go core: use sync.Once for SenderCacher initialization (#31029) 2025-01-16 14:36:45 +01:00
state_prefetcher.go core: implement in-block prefetcher (#31557) 2025-05-08 22:28:16 +08:00
state_processor.go eth/filters: add timestamp to derived logs (#31887) 2025-06-10 11:52:02 +02:00
state_processor_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
state_transition.go core: simplify effectiveTip calculation (#31771) 2025-06-19 11:43:24 +02:00
stateless.go cmd/evm: improve block/state test runner (#30633) 2024-12-02 15:18:02 +01:00
txindexer.go core: reduce load on txindexer from API (#31752) 2025-05-05 10:07:55 +08:00
txindexer_test.go core/rawdb: integrate eradb backend for RPC (#31604) 2025-06-03 10:47:38 +02:00
types.go all: implement flat deposit requests encoding (#30425) 2024-10-09 12:24:58 +02:00
verkle_witness_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00