diff --git a/crates/rpc/src/eth/endpoints.rs b/crates/rpc/src/eth/endpoints.rs index e5ad459b..24cedc2d 100644 --- a/crates/rpc/src/eth/endpoints.rs +++ b/crates/rpc/src/eth/endpoints.rs @@ -29,7 +29,7 @@ use reth_rpc_eth_api::{RpcBlock, RpcHeader, RpcReceipt, RpcTransaction}; use serde::Deserialize; use signet_evm::EvmErrored; use std::borrow::Cow; -use tracing::{trace_span, Instrument}; +use tracing::{field::Empty, trace_span, Instrument}; use trevm::revm::context::result::ExecutionResult; /// Args for `eth_estimateGas` and `eth_call`. @@ -433,9 +433,10 @@ where block_id = %id, state_overrides = ?state_overrides.as_ref().map(StateOverride::len).unwrap_or_default(), block_overrides = ?block_overrides.is_some(), - block_cfg = tracing::field::Empty, + block_cfg = Empty, ); + let span_for_instr = span.clone(); let task = async move { let block_cfg = match ctx.signet().block_cfg(id).await { Ok(block_cfg) => block_cfg, @@ -447,7 +448,7 @@ where } }; - tracing::span::Span::current().record("block_cfg", format!("{:?}", &block_cfg)); + span.record("block_cfg", format!("{:?}", &block_cfg)); // Set up trevm @@ -461,14 +462,14 @@ where // modify the gas cap. let new_gas = response_tri!(trevm.cap_tx_gas()); if Some(new_gas) != request.gas { - tracing::span::Span::current().record("request", format!("{:?}", &request)); + span.record("request", format!("{:?}", &request)); } let execution_result = response_tri!(trevm.call().map_err(EvmErrored::into_error)).0; ResponsePayload::Success(execution_result) } - .instrument(span); + .instrument(span_for_instr); await_jh_option_response!(hctx.spawn_blocking(task)) } @@ -534,15 +535,18 @@ where block_id = %id, state_overrides = ?state_overrides.as_ref().map(StateOverride::len).unwrap_or_default(), block_overrides = ?block_overrides.is_some(), - block_cfg = tracing::field::Empty, + block_cfg = Empty, + normalized_gas = Empty, + estimate = Empty, ); // Stateless gas normalization. let max_gas = ctx.signet().config().rpc_gas_cap; normalize_gas_stateless(&mut request, max_gas); - tracing::span::Span::current().record("normalized_gas", format!("{:?}", request.gas)); + span.record("normalized_gas", format!("{:?}", request.gas)); + let span_for_instr = span.clone(); let task = async move { // Get the block cfg from backend, erroring if it fails let block_cfg = match ctx.signet().block_cfg(id).await { @@ -555,7 +559,7 @@ where } }; - tracing::span::Span::current().record("block_cfg", format!("{:?}", &block_cfg)); + span.record("block_cfg", format!("{:?}", &block_cfg)); let trevm = response_tri!(ctx.trevm(id, &block_cfg)); @@ -570,7 +574,7 @@ where let (estimate, _) = response_tri!(trevm.estimate_gas().map_err(EvmErrored::into_error)); - tracing::span::Span::current().record("estimate", format!("{:?}", &estimate)); + span.record("estimate", format!("{:?}", &estimate)); match estimate { trevm::EstimationResult::Success { estimation, .. } => { @@ -590,7 +594,7 @@ where } } } - .instrument(span); + .instrument(span_for_instr); await_jh_option_response!(hctx.spawn_blocking(task)) }