From 1665976dda12ce90de5d3aba4198233567dde5f1 Mon Sep 17 00:00:00 2001 From: forcodedancing Date: Wed, 11 Sep 2024 12:16:15 +0800 Subject: [PATCH] add debug logs --- crates/chain-state/src/cache/hashed_state.rs | 34 ++++++------ crates/chain-state/src/cache/mod.rs | 5 +- crates/chain-state/src/cache/plain_state.rs | 56 ++++++++++---------- crates/chain-state/src/cache/trie_node.rs | 34 ++++++------ crates/engine/tree/src/tree/mod.rs | 5 +- 5 files changed, 71 insertions(+), 63 deletions(-) diff --git a/crates/chain-state/src/cache/hashed_state.rs b/crates/chain-state/src/cache/hashed_state.rs index b2977c58e..0aef47ae2 100644 --- a/crates/chain-state/src/cache/hashed_state.rs +++ b/crates/chain-state/src/cache/hashed_state.rs @@ -42,14 +42,15 @@ impl CACHED_HASH_STATES { impl TrieCache for CACHED_HASH_STATES { /// Get an account from the cache fn get_account(&self, k: &B256) -> Option { - counter!("hashed-cache.account.total").increment(1); - match self.0.get(k) { - Some(r) => { - counter!("hashed-cache.account.hit").increment(1); - Some(r) - } - None => None, - } + self.0.get(k) + // counter!("hashed-cache.account.total").increment(1); + // match self.0.get(k) { + // Some(r) => { + // counter!("hashed-cache.account.hit").increment(1); + // Some(r) + // } + // None => None, + // } } /// Insert an account into the cache @@ -59,14 +60,15 @@ impl TrieCache for CACHED_HASH_STATES { /// Get storage from the cache fn get_storage(&self, k: &HashedStorageKey) -> Option { - counter!("hashed-cache.storage.total").increment(1); - match self.1.get(k) { - Some(r) => { - counter!("hashed-cache.storage.hit").increment(1); - Some(r) - } - None => None, - } + self.1.get(k) + // counter!("hashed-cache.storage.total").increment(1); + // match self.1.get(k) { + // Some(r) => { + // counter!("hashed-cache.storage.hit").increment(1); + // Some(r) + // } + // None => None, + // } } /// Insert storage into the cache diff --git a/crates/chain-state/src/cache/mod.rs b/crates/chain-state/src/cache/mod.rs index 1a93b7383..bcf9422f5 100644 --- a/crates/chain-state/src/cache/mod.rs +++ b/crates/chain-state/src/cache/mod.rs @@ -3,9 +3,9 @@ mod plain_state; pub use plain_state::CACHED_PLAIN_STATES; mod hashed_state; +use crate::ExecutedBlock; pub use hashed_state::CACHED_HASH_STATES; use tracing::debug; -use crate::ExecutedBlock; mod trie_node; use crate::cache::{ @@ -18,13 +18,14 @@ pub use trie_node::CACHED_TRIE_NODES; /// Writes the execution outcomes, trie updates, and hashed states of the given blocks to the cache. pub fn write_to_cache(blocks: Vec) { for block in blocks { - debug!("Writing block {} to cache", block.block.header.number); + debug!("Start to write block {} to cache", block.block.header.number); let bundle_state = block.execution_outcome().clone().bundle; let trie_updates = block.trie_updates().clone(); let hashed_state = block.hashed_state(); write_plain_state(bundle_state); write_hashed_state(&hashed_state.clone().into_sorted()); write_trie_updates(&trie_updates); + debug!("Finish to write block {} to cache", block.block.header.number); } } diff --git a/crates/chain-state/src/cache/plain_state.rs b/crates/chain-state/src/cache/plain_state.rs index d56c390b0..1b5753b12 100644 --- a/crates/chain-state/src/cache/plain_state.rs +++ b/crates/chain-state/src/cache/plain_state.rs @@ -1,11 +1,10 @@ use lazy_static::lazy_static; use quick_cache::sync::Cache; -use metrics::counter; use crate::StateCache; +use metrics::counter; use reth_primitives::{Account, Address, Bytecode, StorageKey, StorageValue, B256}; -use reth_revm::db::BundleState; -use reth_revm::db::OriginalValuesKnown; +use reth_revm::db::{BundleState, OriginalValuesKnown}; // Cache sizes const ACCOUNT_CACHE_SIZE: usize = 1000000; @@ -36,14 +35,15 @@ impl StateCache Option { - counter!("plain-cache.account.total").increment(1); - match self.0.get(k) { - Some(r) => { - counter!("plain-cache.account.hit").increment(1); - Some(r) - } - None => None, - } + self.0.get(k) + // counter!("plain-cache.account.total").increment(1); + // match self.0.get(k) { + // Some(r) => { + // counter!("plain-cache.account.hit").increment(1); + // Some(r) + // } + // None => None, + // } } // Insert account into cache @@ -53,14 +53,15 @@ impl StateCache Option { - counter!("plain-cache.storage.total").increment(1); - match self.1.get(k) { - Some(r) => { - counter!("plain-cache.storage.hit").increment(1); - Some(r) - } - None => None, - } + self.1.get(k) + // counter!("plain-cache.storage.total").increment(1); + // match self.1.get(k) { + // Some(r) => { + // counter!("plain-cache.storage.hit").increment(1); + // Some(r) + // } + // None => None, + // } } // Insert storage into cache @@ -70,14 +71,15 @@ impl StateCache Option { - counter!("plain-cache.code.total").increment(1); - match self.2.get(k) { - Some(r) => { - counter!("plain-cache.code.hit").increment(1); - Some(r) - } - None => None, - } + self.2.get(k) + // counter!("plain-cache.code.total").increment(1); + // match self.2.get(k) { + // Some(r) => { + // counter!("plain-cache.code.hit").increment(1); + // Some(r) + // } + // None => None, + // } } // Insert code into cache diff --git a/crates/chain-state/src/cache/trie_node.rs b/crates/chain-state/src/cache/trie_node.rs index b6508fb47..4d2c30e33 100644 --- a/crates/chain-state/src/cache/trie_node.rs +++ b/crates/chain-state/src/cache/trie_node.rs @@ -51,14 +51,15 @@ impl TrieCache { // Get an account node from the cache fn get_account(&self, k: &Nibbles) -> Option { - counter!("trie-cache.account.total").increment(1); - match self.0.get(k) { - Some(r) => { - counter!("trie-cache.account.hit").increment(1); - Some(r) - } - None => None, - } + self.0.get(k) + // counter!("trie-cache.account.total").increment(1); + // match self.0.get(k) { + // Some(r) => { + // counter!("trie-cache.account.hit").increment(1); + // Some(r) + // } + // None => None, + // } } // Insert an account node into the cache @@ -68,14 +69,15 @@ impl TrieCache // Get a storage node from the cache fn get_storage(&self, k: &TrieStorageKey) -> Option { - counter!("trie-cache.storage.total").increment(1); - match self.1.get(k) { - Some(r) => { - counter!("trie-cache.storage.hit").increment(1); - Some(r) - } - None => None, - } + self.1.get(k) + // counter!("trie-cache.storage.total").increment(1); + // match self.1.get(k) { + // Some(r) => { + // counter!("trie-cache.storage.hit").increment(1); + // Some(r) + // } + // None => None, + // } } // Insert a storage node into the cache diff --git a/crates/engine/tree/src/tree/mod.rs b/crates/engine/tree/src/tree/mod.rs index 8108c0a11..022436191 100644 --- a/crates/engine/tree/src/tree/mod.rs +++ b/crates/engine/tree/src/tree/mod.rs @@ -13,8 +13,7 @@ use reth_blockchain_tree::{ BlockBuffer, BlockStatus2, InsertPayloadOk2, }; use reth_chain_state::{ - CanonicalInMemoryState, ExecutedBlock, MemoryOverlayStateProvider, - NewCanonicalChain, + CanonicalInMemoryState, ExecutedBlock, MemoryOverlayStateProvider, NewCanonicalChain, }; use reth_consensus::{Consensus, PostExecutionInput}; use reth_engine_primitives::EngineTypes; @@ -1774,6 +1773,7 @@ where .collect::>(); let exec_time = Instant::now(); + debug!(target: "engine", ?block_number, "Start to execute block"); let output = executor.execute((&block, U256::MAX, Some(&ancestor_blocks)).into())?; let elapsed = exec_time.elapsed(); debug!(target: "engine", elapsed=?elapsed, ?block_number, "Executed block"); @@ -1787,6 +1787,7 @@ where let hashed_state = HashedPostState::from_bundle_state(&output.state.state); let root_time = Instant::now(); + debug!(target: "engine", ?block_number, "Start to calculate state root"); let (state_root, trie_output) = state_provider.state_root_with_updates(hashed_state.clone())?; if state_root != block.state_root {