diff --git a/crates/engine/tree/src/tree/payload_processor/mod.rs b/crates/engine/tree/src/tree/payload_processor/mod.rs index 358114cd09..ee611f8bf2 100644 --- a/crates/engine/tree/src/tree/payload_processor/mod.rs +++ b/crates/engine/tree/src/tree/payload_processor/mod.rs @@ -513,7 +513,6 @@ where ) { let preserved_sparse_trie = self.sparse_state_trie.clone(); let trie_metrics = self.trie_metrics.clone(); - let span = Span::current(); let disable_sparse_trie_as_cache = !config.enable_sparse_trie_as_cache(); let prune_depth = self.sparse_trie_prune_depth; let max_storage_tries = self.sparse_trie_max_storage_tries; @@ -521,7 +520,8 @@ where config.multiproof_chunking_enabled().then_some(config.multiproof_chunk_size()); self.executor.spawn_blocking(move || { - let _enter = span.entered(); + let _enter = debug_span!(target: "engine::tree::payload_processor", "sparse_trie_task") + .entered(); // Reuse a stored SparseStateTrie if available, applying continuation logic. // If this payload's parent state root matches the preserved trie's anchor, diff --git a/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs b/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs index 3924fffcc5..32bb147dcd 100644 --- a/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs +++ b/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs @@ -135,6 +135,7 @@ where /// Receives [`SparseTrieUpdate`]s until the channel is closed, applying each update /// to the trie. Once all updates are processed, computes and returns the final state root. #[instrument( + name = "SparseTrieTask::run", level = "debug", target = "engine::tree::payload_processor::sparse_trie", skip_all @@ -338,6 +339,7 @@ where /// /// This concludes once the last state update has been received and processed. #[instrument( + name = "SparseTrieCacheTask::run", level = "debug", target = "engine::tree::payload_processor::sparse_trie", skip_all diff --git a/crates/prune/prune/src/segments/user/account_history.rs b/crates/prune/prune/src/segments/user/account_history.rs index e3ab12f9a5..2f70bbe90a 100644 --- a/crates/prune/prune/src/segments/user/account_history.rs +++ b/crates/prune/prune/src/segments/user/account_history.rs @@ -57,7 +57,12 @@ where PrunePurpose::User } - #[instrument(target = "pruner", skip(self, provider), ret(level = "trace"))] + #[instrument( + name = "AccountHistory::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune(&self, provider: &Provider, input: PruneInput) -> Result { let range = match input.get_next_block_range() { Some(range) => range, diff --git a/crates/prune/prune/src/segments/user/bodies.rs b/crates/prune/prune/src/segments/user/bodies.rs index cf318d8f0b..10cd15e1e9 100644 --- a/crates/prune/prune/src/segments/user/bodies.rs +++ b/crates/prune/prune/src/segments/user/bodies.rs @@ -9,7 +9,7 @@ use reth_prune_types::{ SegmentOutputCheckpoint, }; use reth_static_file_types::StaticFileSegment; -use tracing::debug; +use tracing::{debug, instrument}; /// Segment responsible for pruning transactions in static files. /// @@ -103,6 +103,12 @@ where PrunePurpose::User } + #[instrument( + name = "Bodies::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune(&self, provider: &Provider, input: PruneInput) -> Result { let Some(to_block) = self.next_bodies_prune_target(provider, &input)? else { debug!( diff --git a/crates/prune/prune/src/segments/user/receipts.rs b/crates/prune/prune/src/segments/user/receipts.rs index 9f193b4ca3..54f16e8b1f 100644 --- a/crates/prune/prune/src/segments/user/receipts.rs +++ b/crates/prune/prune/src/segments/user/receipts.rs @@ -44,7 +44,12 @@ where PrunePurpose::User } - #[instrument(target = "pruner", skip(self, provider), ret(level = "trace"))] + #[instrument( + name = "Receipts::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune(&self, provider: &Provider, input: PruneInput) -> Result { crate::segments::receipts::prune(provider, input) } diff --git a/crates/prune/prune/src/segments/user/receipts_by_logs.rs b/crates/prune/prune/src/segments/user/receipts_by_logs.rs index 591e77997e..3b4955053e 100644 --- a/crates/prune/prune/src/segments/user/receipts_by_logs.rs +++ b/crates/prune/prune/src/segments/user/receipts_by_logs.rs @@ -45,7 +45,12 @@ where PrunePurpose::User } - #[instrument(target = "pruner", skip(self, provider), ret(level = "trace"))] + #[instrument( + name = "ReceiptsByLogs::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune(&self, provider: &Provider, input: PruneInput) -> Result { // Contract log filtering removes every receipt possible except the ones in the list. So, // for the other receipts it's as if they had a `PruneMode::Distance()` of diff --git a/crates/prune/prune/src/segments/user/sender_recovery.rs b/crates/prune/prune/src/segments/user/sender_recovery.rs index f175db4d95..78d92665fd 100644 --- a/crates/prune/prune/src/segments/user/sender_recovery.rs +++ b/crates/prune/prune/src/segments/user/sender_recovery.rs @@ -45,7 +45,12 @@ where PrunePurpose::User } - #[instrument(target = "pruner", skip(self, provider), ret(level = "trace"))] + #[instrument( + name = "SenderRecovery::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune(&self, provider: &Provider, input: PruneInput) -> Result { if EitherWriterDestination::senders(provider).is_static_file() { debug!(target: "pruner", "Pruning transaction senders from static files."); diff --git a/crates/prune/prune/src/segments/user/storage_history.rs b/crates/prune/prune/src/segments/user/storage_history.rs index 780ed51629..58a1d62106 100644 --- a/crates/prune/prune/src/segments/user/storage_history.rs +++ b/crates/prune/prune/src/segments/user/storage_history.rs @@ -58,7 +58,12 @@ where PrunePurpose::User } - #[instrument(target = "pruner", skip(self, provider), ret(level = "trace"))] + #[instrument( + name = "StorageHistory::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune(&self, provider: &Provider, input: PruneInput) -> Result { let range = match input.get_next_block_range() { Some(range) => range, diff --git a/crates/prune/prune/src/segments/user/transaction_lookup.rs b/crates/prune/prune/src/segments/user/transaction_lookup.rs index 286c9cdc36..dcac1f1e8b 100644 --- a/crates/prune/prune/src/segments/user/transaction_lookup.rs +++ b/crates/prune/prune/src/segments/user/transaction_lookup.rs @@ -49,7 +49,12 @@ where PrunePurpose::User } - #[instrument(target = "pruner", skip(self, provider), ret(level = "trace"))] + #[instrument( + name = "TransactionLookup::prune", + target = "pruner", + skip(self, provider), + ret(level = "trace") + )] fn prune( &self, provider: &Provider, diff --git a/crates/trie/sparse/src/state.rs b/crates/trie/sparse/src/state.rs index 1332d2ee52..fd3a613159 100644 --- a/crates/trie/sparse/src/state.rs +++ b/crates/trie/sparse/src/state.rs @@ -1038,7 +1038,12 @@ where /// /// - Clears `revealed_account_paths` and `revealed_paths` for all storage tries #[cfg(feature = "std")] - #[instrument(target = "trie::sparse", skip_all, fields(max_depth, max_storage_tries))] + #[instrument( + name = "SparseStateTrie::prune", + target = "trie::sparse", + skip_all, + fields(max_depth, max_storage_tries) + )] pub fn prune(&mut self, max_depth: usize, max_storage_tries: usize) { // Prune state and storage tries in parallel rayon::join(