mirror of
https://github.com/sigp/lighthouse.git
synced 2026-07-05 13:54:36 +00:00
Add missing event in PendingComponent span and clean up sync logs (#8033)
I was looking into some long `PendingComponents` span and noticed the block event wasn't added to the span, so it wasn't possible to see when the block was added from the trace view, this PR fixes this. <img width="637" height="430" alt="image" src="https://github.com/user-attachments/assets/65040b1c-11e7-43ac-951b-bdfb34b665fb" /> Additionally I've noticed a lot of noises and confusion in sync logs due to the initial`peer_id` being included as part of the syncing chain span, causing all logs under the span to have that `peer_id`, which may not be accurate for some sync logs, I've removed `peer_id` from the `SyncingChain` span, and also cleaned up a bunch of spans to use `%` (display) for slots and epochs to make logs easier to read. Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
@@ -2061,7 +2061,7 @@ impl BlockBlobError for GossipDataColumnError {
|
|||||||
/// and `Cow::Borrowed(state)` will be returned. Otherwise, the state will be cloned, cheaply
|
/// and `Cow::Borrowed(state)` will be returned. Otherwise, the state will be cloned, cheaply
|
||||||
/// advanced and then returned as a `Cow::Owned`. The end result is that the given `state` is never
|
/// advanced and then returned as a `Cow::Owned`. The end result is that the given `state` is never
|
||||||
/// mutated to be invalid (in fact, it is never changed beyond a simple committee cache build).
|
/// mutated to be invalid (in fact, it is never changed beyond a simple committee cache build).
|
||||||
#[instrument(skip(state, spec), level = "debug")]
|
#[instrument(skip_all, fields(?state_root_opt, %block_slot), level = "debug")]
|
||||||
pub fn cheap_state_advance_to_obtain_committees<'a, E: EthSpec, Err: BlockBlobError>(
|
pub fn cheap_state_advance_to_obtain_committees<'a, E: EthSpec, Err: BlockBlobError>(
|
||||||
state: &'a mut BeaconState<E>,
|
state: &'a mut BeaconState<E>,
|
||||||
state_root_opt: Option<Hash256>,
|
state_root_opt: Option<Hash256>,
|
||||||
|
|||||||
@@ -666,11 +666,13 @@ impl<T: BeaconChainTypes> DataAvailabilityCheckerInner<T> {
|
|||||||
None
|
None
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pending_components.span.in_scope(|| {
|
||||||
debug!(
|
debug!(
|
||||||
component = "block",
|
component = "block",
|
||||||
status = pending_components.status_str(num_expected_columns_opt),
|
status = pending_components.status_str(num_expected_columns_opt),
|
||||||
"Component added to data availability checker"
|
"Component added to data availability checker"
|
||||||
);
|
);
|
||||||
|
});
|
||||||
|
|
||||||
self.check_availability_and_cache_components(
|
self.check_availability_and_cache_components(
|
||||||
block_root,
|
block_root,
|
||||||
|
|||||||
@@ -610,7 +610,7 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
|||||||
parent = None,
|
parent = None,
|
||||||
level = "debug",
|
level = "debug",
|
||||||
skip_all,
|
skip_all,
|
||||||
fields(slot = ?column_sidecar.slot(), block_root = ?column_sidecar.block_root(), index = column_sidecar.index),
|
fields(slot = %column_sidecar.slot(), block_root = ?column_sidecar.block_root(), index = column_sidecar.index),
|
||||||
)]
|
)]
|
||||||
pub async fn process_gossip_data_column_sidecar(
|
pub async fn process_gossip_data_column_sidecar(
|
||||||
self: &Arc<Self>,
|
self: &Arc<Self>,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
use beacon_chain::block_verification_types::RpcBlock;
|
use beacon_chain::block_verification_types::RpcBlock;
|
||||||
|
use derivative::Derivative;
|
||||||
use lighthouse_network::PeerId;
|
use lighthouse_network::PeerId;
|
||||||
use lighthouse_network::rpc::methods::BlocksByRangeRequest;
|
use lighthouse_network::rpc::methods::BlocksByRangeRequest;
|
||||||
use lighthouse_network::service::api_types::Id;
|
use lighthouse_network::service::api_types::Id;
|
||||||
@@ -96,7 +97,8 @@ pub enum BatchProcessingResult {
|
|||||||
NonFaultyFailure,
|
NonFaultyFailure,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Derivative)]
|
||||||
|
#[derivative(Debug)]
|
||||||
/// A segment of a chain.
|
/// A segment of a chain.
|
||||||
pub struct BatchInfo<E: EthSpec, B: BatchConfig = RangeSyncBatchConfig> {
|
pub struct BatchInfo<E: EthSpec, B: BatchConfig = RangeSyncBatchConfig> {
|
||||||
/// Start slot of the batch.
|
/// Start slot of the batch.
|
||||||
@@ -114,6 +116,7 @@ pub struct BatchInfo<E: EthSpec, B: BatchConfig = RangeSyncBatchConfig> {
|
|||||||
/// Whether this batch contains all blocks or all blocks and blobs.
|
/// Whether this batch contains all blocks or all blocks and blobs.
|
||||||
batch_type: ByRangeRequestType,
|
batch_type: ByRangeRequestType,
|
||||||
/// Pin the generic
|
/// Pin the generic
|
||||||
|
#[derivative(Debug = "ignore")]
|
||||||
marker: std::marker::PhantomData<B>,
|
marker: std::marker::PhantomData<B>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -131,8 +131,14 @@ impl<T: BeaconChainTypes> SyncingChain<T> {
|
|||||||
name = SPAN_SYNCING_CHAIN,
|
name = SPAN_SYNCING_CHAIN,
|
||||||
parent = None,
|
parent = None,
|
||||||
level="debug",
|
level="debug",
|
||||||
skip(id),
|
skip_all,
|
||||||
fields(chain_id = %id)
|
fields(
|
||||||
|
chain_id = %id,
|
||||||
|
start_epoch = %start_epoch,
|
||||||
|
target_head_slot = %target_head_slot,
|
||||||
|
target_head_root = %target_head_root,
|
||||||
|
chain_type = ?chain_type,
|
||||||
|
)
|
||||||
)]
|
)]
|
||||||
pub fn new(
|
pub fn new(
|
||||||
id: Id,
|
id: Id,
|
||||||
|
|||||||
@@ -1040,7 +1040,7 @@ impl<E: EthSpec, Hot: ItemStore<E>, Cold: ItemStore<E>> HotColdDB<E, Hot, Cold>
|
|||||||
/// - `result_state_root == state.canonical_root()`
|
/// - `result_state_root == state.canonical_root()`
|
||||||
/// - `state.slot() <= max_slot`
|
/// - `state.slot() <= max_slot`
|
||||||
/// - `state.get_latest_block_root(result_state_root) == block_root`
|
/// - `state.get_latest_block_root(result_state_root) == block_root`
|
||||||
#[instrument(skip(self, max_slot), level = "debug")]
|
#[instrument(skip_all, fields(?block_root, %max_slot, ?state_root), level = "debug")]
|
||||||
pub fn get_advanced_hot_state(
|
pub fn get_advanced_hot_state(
|
||||||
&self,
|
&self,
|
||||||
block_root: Hash256,
|
block_root: Hash256,
|
||||||
@@ -1112,7 +1112,7 @@ impl<E: EthSpec, Hot: ItemStore<E>, Cold: ItemStore<E>> HotColdDB<E, Hot, Cold>
|
|||||||
/// If this function returns `Some(state)` then that `state` will always have
|
/// If this function returns `Some(state)` then that `state` will always have
|
||||||
/// `latest_block_header` matching `block_root` but may not be advanced all the way through to
|
/// `latest_block_header` matching `block_root` but may not be advanced all the way through to
|
||||||
/// `max_slot`.
|
/// `max_slot`.
|
||||||
#[instrument(skip(self), level = "debug")]
|
#[instrument(skip_all, fields(?block_root, %max_slot), level = "debug")]
|
||||||
pub fn get_advanced_hot_state_from_cache(
|
pub fn get_advanced_hot_state_from_cache(
|
||||||
&self,
|
&self,
|
||||||
block_root: Hash256,
|
block_root: Hash256,
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ impl<E: EthSpec> StateCache<E> {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
#[instrument(skip(self), level = "debug")]
|
#[instrument(skip_all, fields(?block_root, %slot), level = "debug")]
|
||||||
pub fn get_by_block_root(
|
pub fn get_by_block_root(
|
||||||
&mut self,
|
&mut self,
|
||||||
block_root: Hash256,
|
block_root: Hash256,
|
||||||
|
|||||||
Reference in New Issue
Block a user