mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-22 22:34:45 +00:00
Instrument tracing spans for block processing and import (#7816)
#7815 - removes all existing spans, so some span fields that appear in logs like `service_name` may be lost. - instruments a few key code paths in the beacon node, starting from **root spans** named below: * Gossip block and blobs * `process_gossip_data_column_sidecar` * `process_gossip_blob` * `process_gossip_block` * Rpc block and blobs * `process_rpc_block` * `process_rpc_blobs` * `process_rpc_custody_columns` * Rpc blocks (range and backfill) * `process_chain_segment` * `PendingComponents` lifecycle * `pending_components` To test locally: * Run Grafana and Tempo with https://github.com/sigp/lighthouse-metrics/pull/57 * Run Lighthouse BN with `--telemetry-collector-url http://localhost:4317` Some captured traces can be found here: https://hackmd.io/@jimmygchen/r1sLOxPPeg Removing the old spans seem to have reduced the memory usage quite a lot - i think we were using them on long running tasks and too excessively: <img width="910" height="495" alt="image" src="https://github.com/user-attachments/assets/5208bbe4-53b2-4ead-bc71-0b782c788669" />
This commit is contained in:
@@ -20,7 +20,7 @@ use std::sync::Arc;
|
||||
use task_executor::TaskExecutor;
|
||||
use tokio::sync::mpsc::UnboundedSender;
|
||||
use tokio::time::{interval_at, Duration, Instant};
|
||||
use tracing::{debug, error, info, info_span, trace, warn, Instrument};
|
||||
use tracing::{debug, error, info, trace, warn};
|
||||
use types::{AttesterSlashing, Epoch, EthSpec, ProposerSlashing};
|
||||
|
||||
pub struct SlasherService<T: BeaconChainTypes> {
|
||||
@@ -64,15 +64,12 @@ impl<T: BeaconChainTypes> SlasherService<T> {
|
||||
update_period,
|
||||
slot_offset,
|
||||
notif_sender,
|
||||
)
|
||||
.instrument(tracing::info_span!("slasher", service = "slasher")),
|
||||
),
|
||||
"slasher_server_notifier",
|
||||
);
|
||||
|
||||
executor.spawn_blocking(
|
||||
|| {
|
||||
let span = info_span!("slasher", service = "slasher");
|
||||
let _ = span.enter();
|
||||
Self::run_processor(beacon_chain, slasher, notif_receiver, network_sender);
|
||||
},
|
||||
"slasher_server_processor",
|
||||
|
||||
Reference in New Issue
Block a user