From 78089941ff7f823dc8a4d6b5b555108e42130a4e Mon Sep 17 00:00:00 2001 From: behzad nouri Date: Fri, 11 Feb 2022 18:04:10 +0000 Subject: [PATCH] adds validator version to set_panic_hook (#23082) --- bench-tps/src/main.rs | 2 +- faucet/src/bin/faucet.rs | 2 +- metrics/src/metrics.rs | 3 ++- validator/src/main.rs | 6 ++++-- watchtower/src/main.rs | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/bench-tps/src/main.rs b/bench-tps/src/main.rs index d1a2e379d..888736bf6 100644 --- a/bench-tps/src/main.rs +++ b/bench-tps/src/main.rs @@ -21,7 +21,7 @@ pub const NUM_SIGNATURES_FOR_TXS: u64 = 100_000 * 60 * 60 * 24 * 7; fn main() { solana_logger::setup_with_default("solana=info"); - solana_metrics::set_panic_hook("bench-tps"); + solana_metrics::set_panic_hook("bench-tps", /*version:*/ None); let matches = cli::build_args(solana_version::version!()).get_matches(); let cli_config = cli::extract_args(&matches); diff --git a/faucet/src/bin/faucet.rs b/faucet/src/bin/faucet.rs index cd79d4651..c8badee40 100644 --- a/faucet/src/bin/faucet.rs +++ b/faucet/src/bin/faucet.rs @@ -20,7 +20,7 @@ async fn main() { let default_keypair = solana_cli_config::Config::default().keypair_path; solana_logger::setup_with_default("solana=info"); - solana_metrics::set_panic_hook("faucet"); + solana_metrics::set_panic_hook("faucet", /*version:*/ None); let matches = App::new(crate_name!()) .about(crate_description!()) .version(solana_version::version!()) diff --git a/metrics/src/metrics.rs b/metrics/src/metrics.rs index 4c334749b..95840f62d 100644 --- a/metrics/src/metrics.rs +++ b/metrics/src/metrics.rs @@ -429,7 +429,7 @@ pub fn flush() { } /// Hook the panic handler to generate a data point on each panic -pub fn set_panic_hook(program: &'static str) { +pub fn set_panic_hook(program: &'static str, version: Option) { static SET_HOOK: Once = Once::new(); SET_HOOK.call_once(|| { let default_hook = std::panic::take_hook(); @@ -448,6 +448,7 @@ pub fn set_panic_hook(program: &'static str) { .add_field_i64("one", 1) .add_field_str("message", &ono.to_string()) .add_field_str("location", &location) + .add_field_str("version", version.as_ref().unwrap_or(&"".to_string())) .to_owned(), Level::Error, ); diff --git a/validator/src/main.rs b/validator/src/main.rs index d4acb7db6..4d107394a 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -2579,8 +2579,10 @@ pub fn main() { } solana_metrics::set_host_id(identity_keypair.pubkey().to_string()); - solana_metrics::set_panic_hook("validator"); - + solana_metrics::set_panic_hook("validator", { + let version = format!("{:?}", solana_version::version!()); + Some(version) + }); solana_entry::entry::init_poh(); snapshot_utils::remove_tmp_snapshot_archives(&snapshot_archives_dir); diff --git a/watchtower/src/main.rs b/watchtower/src/main.rs index 7ea796dfe..15504001e 100644 --- a/watchtower/src/main.rs +++ b/watchtower/src/main.rs @@ -204,7 +204,7 @@ fn get_cluster_info( fn main() -> Result<(), Box> { solana_logger::setup_with_default("solana=info"); - solana_metrics::set_panic_hook("watchtower"); + solana_metrics::set_panic_hook("watchtower", /*version:*/ None); let config = get_config();