mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-18 05:18:30 +00:00
#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" />
101 lines
3.5 KiB
TOML
101 lines
3.5 KiB
TOML
[package]
|
|
name = "lighthouse"
|
|
version = "7.1.0"
|
|
authors = ["Sigma Prime <contact@sigmaprime.io>"]
|
|
edition = { workspace = true }
|
|
autotests = false
|
|
rust-version = "1.88.0"
|
|
|
|
# Prevent cargo-udeps from flagging the dummy package `target_check`, which exists only
|
|
# to assert properties of the compilation target.
|
|
[package.metadata.cargo-udeps.ignore]
|
|
normal = ["target_check"]
|
|
|
|
[features]
|
|
default = ["slasher-lmdb", "beacon-node-leveldb"]
|
|
# Writes debugging .ssz files to /tmp during block processing.
|
|
write_ssz_files = ["beacon_node/write_ssz_files"]
|
|
# Compiles the BLS crypto code so that the binary is portable across machines.
|
|
portable = ["bls/supranational-portable"]
|
|
# Compiles BLST so that it always uses ADX instructions.
|
|
modern = ["bls/supranational-force-adx"]
|
|
# Support minimal spec (used for testing only).
|
|
spec-minimal = []
|
|
# Support Gnosis spec and Gnosis Beacon Chain.
|
|
gnosis = []
|
|
# Support slasher MDBX backend.
|
|
slasher-mdbx = ["slasher/mdbx"]
|
|
# Support slasher LMDB backend.
|
|
slasher-lmdb = ["slasher/lmdb"]
|
|
# Support slasher redb backend.
|
|
slasher-redb = ["slasher/redb"]
|
|
# Supports beacon node leveldb backend.
|
|
beacon-node-leveldb = ["store/leveldb"]
|
|
# Supports beacon node redb backend.
|
|
beacon-node-redb = ["store/redb"]
|
|
# Supports console subscriber for debugging
|
|
console-subscriber = ["console-subscriber/default"]
|
|
# Turns off jemalloc so that heaptrack may be used to analyse memory usage.
|
|
heaptrack = []
|
|
|
|
# Deprecated. This is now enabled by default on non windows targets (unless heaptrack is enabled).
|
|
jemalloc = []
|
|
|
|
[dependencies]
|
|
account_manager = { "path" = "../account_manager" }
|
|
account_utils = { workspace = true }
|
|
beacon_node = { workspace = true }
|
|
bls = { workspace = true }
|
|
boot_node = { path = "../boot_node" }
|
|
clap = { workspace = true }
|
|
clap_utils = { workspace = true }
|
|
console-subscriber = { workspace = true, optional = true }
|
|
database_manager = { path = "../database_manager" }
|
|
directory = { workspace = true }
|
|
environment = { workspace = true }
|
|
eth2_network_config = { workspace = true }
|
|
ethereum_hashing = { workspace = true }
|
|
futures = { workspace = true }
|
|
lighthouse_version = { workspace = true }
|
|
logging = { workspace = true }
|
|
malloc_utils = { workspace = true }
|
|
metrics = { workspace = true }
|
|
opentelemetry = { workspace = true }
|
|
opentelemetry-otlp = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_yaml = { workspace = true }
|
|
slasher = { workspace = true }
|
|
store = { workspace = true }
|
|
task_executor = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-opentelemetry = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
types = { workspace = true }
|
|
unused_port = { workspace = true }
|
|
validator_client = { workspace = true }
|
|
validator_manager = { path = "../validator_manager" }
|
|
|
|
[target.'cfg(any(target_os = "windows", features = "heaptrack"))'.dependencies]
|
|
malloc_utils = { workspace = true }
|
|
|
|
[target.'cfg(not(any(target_os = "windows", features = "heaptrack")))'.dependencies]
|
|
malloc_utils = { workspace = true, features = ["jemalloc"] }
|
|
|
|
[dev-dependencies]
|
|
beacon_node_fallback = { workspace = true }
|
|
beacon_processor = { workspace = true }
|
|
eth2 = { workspace = true }
|
|
initialized_validators = { workspace = true }
|
|
lighthouse_network = { workspace = true }
|
|
sensitive_url = { workspace = true }
|
|
slashing_protection = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
validator_dir = { workspace = true }
|
|
zeroize = { workspace = true }
|
|
|
|
[[test]]
|
|
name = "lighthouse_tests"
|
|
path = "tests/main.rs"
|