From a7f895e72a44d1939bdf4dd83875919ce5ef4296 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:44:55 +0000 Subject: [PATCH] feat(tree): enter tracing span for each storage trie in state root task (#14363) --- crates/engine/tree/src/tree/root.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/engine/tree/src/tree/root.rs b/crates/engine/tree/src/tree/root.rs index 06fbf14ffd..91e0e3b6c4 100644 --- a/crates/engine/tree/src/tree/root.rs +++ b/crates/engine/tree/src/tree/root.rs @@ -36,7 +36,7 @@ use std::{ }, time::{Duration, Instant}, }; -use tracing::{debug, error, trace}; +use tracing::{debug, error, trace, trace_span}; /// The level below which the sparse trie hashes are calculated in [`update_sparse_trie`]. const SPARSE_TRIE_INCREMENTAL_LEVEL: usize = 2; @@ -1098,20 +1098,22 @@ where .map(|(address, storage)| (address, storage, trie.take_storage_trie(&address))) .par_bridge() .map(|(address, storage, storage_trie)| { - trace!(target: "engine::root::sparse", ?address, "Updating storage"); + let span = trace_span!(target: "engine::root::sparse", "Storage trie", ?address); + let _enter = span.enter(); + trace!(target: "engine::root::sparse", "Updating storage"); let mut storage_trie = storage_trie.ok_or(SparseTrieErrorKind::Blind)?; if storage.wiped { - trace!(target: "engine::root::sparse", ?address, "Wiping storage"); + trace!(target: "engine::root::sparse", "Wiping storage"); storage_trie.wipe()?; } for (slot, value) in storage.storage { let slot_nibbles = Nibbles::unpack(slot); if value.is_zero() { - trace!(target: "engine::root::sparse", ?address, ?slot, "Removing storage slot"); + trace!(target: "engine::root::sparse", ?slot, "Removing storage slot"); storage_trie.remove_leaf(&slot_nibbles)?; } else { - trace!(target: "engine::root::sparse", ?address, ?slot, "Updating storage slot"); + trace!(target: "engine::root::sparse", ?slot, "Updating storage slot"); storage_trie .update_leaf(slot_nibbles, alloy_rlp::encode_fixed_size(&value).to_vec())?; } @@ -1121,9 +1123,7 @@ where SparseStateTrieResult::Ok((address, storage_trie)) }) - .for_each_init(|| tx.clone(), |tx, result| { - tx.send(result).unwrap() - }); + .for_each_init(|| tx.clone(), |tx, result| tx.send(result).unwrap()); drop(tx); for result in rx { let (address, storage_trie) = result?;