aa1ed787e9
This PR adds the ability to read the Lighthouse logs from the HTTP API for both the BN and the VC. This is done in such a way to as minimize any kind of performance hit by adding this feature. The current design creates a tokio broadcast channel and mixes is into a form of slog drain that combines with our main global logger drain, only if the http api is enabled. The drain gets the logs, checks the log level and drops them if they are below INFO. If they are INFO or higher, it sends them via a broadcast channel only if there are users subscribed to the HTTP API channel. If not, it drops the logs. If there are more than one subscriber, the channel clones the log records and converts them to json in their independent HTTP API tasks. Co-authored-by: Michael Sproul <micsproul@gmail.com>
67 lines
2.3 KiB
TOML
67 lines
2.3 KiB
TOML
[package]
|
|
name = "validator_client"
|
|
version = "0.3.5"
|
|
authors = ["Paul Hauner <paul@paulhauner.com>", "Age Manning <Age@AgeManning.com>", "Luke Anderson <luke@lukeanderson.com.au>"]
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "validator_client"
|
|
path = "src/lib.rs"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1.14.0", features = ["time", "rt-multi-thread", "macros"] }
|
|
logging = { path = "../common/logging" }
|
|
|
|
[dependencies]
|
|
tree_hash = "0.5.0"
|
|
clap = "2.33.3"
|
|
slashing_protection = { path = "./slashing_protection" }
|
|
slot_clock = { path = "../common/slot_clock" }
|
|
types = { path = "../consensus/types" }
|
|
safe_arith = { path = "../consensus/safe_arith" }
|
|
serde = "1.0.116"
|
|
serde_derive = "1.0.116"
|
|
bincode = "1.3.1"
|
|
serde_json = "1.0.58"
|
|
slog = { version = "2.5.2", features = ["max_level_trace", "release_max_level_trace"] }
|
|
tokio = { version = "1.14.0", features = ["time"] }
|
|
tokio-stream = { version = "0.1.3", features = ["sync"] }
|
|
futures = "0.3.7"
|
|
dirs = "3.0.1"
|
|
directory = { path = "../common/directory" }
|
|
lockfile = { path = "../common/lockfile" }
|
|
environment = { path = "../lighthouse/environment" }
|
|
parking_lot = "0.12.0"
|
|
exit-future = "0.2.0"
|
|
filesystem = { path = "../common/filesystem" }
|
|
hex = "0.4.2"
|
|
deposit_contract = { path = "../common/deposit_contract" }
|
|
bls = { path = "../crypto/bls" }
|
|
eth2 = { path = "../common/eth2" }
|
|
tempfile = "3.1.0"
|
|
validator_dir = { path = "../common/validator_dir" }
|
|
clap_utils = { path = "../common/clap_utils" }
|
|
eth2_keystore = { path = "../crypto/eth2_keystore" }
|
|
account_utils = { path = "../common/account_utils" }
|
|
lighthouse_version = { path = "../common/lighthouse_version" }
|
|
warp_utils = { path = "../common/warp_utils" }
|
|
warp = "0.3.2"
|
|
hyper = "0.14.4"
|
|
ethereum_serde_utils = "0.5.0"
|
|
libsecp256k1 = "0.7.0"
|
|
ring = "0.16.19"
|
|
rand = { version = "0.8.5", features = ["small_rng"] }
|
|
lighthouse_metrics = { path = "../common/lighthouse_metrics" }
|
|
lazy_static = "1.4.0"
|
|
itertools = "0.10.0"
|
|
monitoring_api = { path = "../common/monitoring_api" }
|
|
sensitive_url = { path = "../common/sensitive_url" }
|
|
task_executor = { path = "../common/task_executor" }
|
|
reqwest = { version = "0.11.0", features = ["json","stream"] }
|
|
url = "2.2.2"
|
|
malloc_utils = { path = "../common/malloc_utils" }
|
|
sysinfo = "0.26.5"
|
|
system_health = { path = "../common/system_health" }
|
|
logging = { path = "../common/logging" }
|
|
|