From 72f283d1a00da3352b26457ff8335165df697577 Mon Sep 17 00:00:00 2001 From: not-matthias Date: Wed, 7 May 2025 11:19:34 +0200 Subject: [PATCH 1/2] fix: only display pipe error in CODSPEED_ENV --- crates/criterion_compat/criterion_fork/src/analysis/mod.rs | 4 +++- crates/divan_compat/divan_fork/src/divan.rs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/criterion_compat/criterion_fork/src/analysis/mod.rs b/crates/criterion_compat/criterion_fork/src/analysis/mod.rs index d2431403..f619cdc8 100644 --- a/crates/criterion_compat/criterion_fork/src/analysis/mod.rs +++ b/crates/criterion_compat/criterion_fork/src/analysis/mod.rs @@ -301,7 +301,9 @@ mod codspeed { pid: std::process::id(), uri: uri.clone(), }) { - eprintln!("Failed to send benchmark URI to runner: {}", error); + if std::env::var("CODSPEED_ENV").is_ok() { + eprintln!("Failed to send benchmark URI to runner: {error:?}"); + } } let avg_iter_per_round = iters.iter().sum::() / iters.len() as f64; diff --git a/crates/divan_compat/divan_fork/src/divan.rs b/crates/divan_compat/divan_fork/src/divan.rs index 3fe6688e..c0bf6dab 100644 --- a/crates/divan_compat/divan_fork/src/divan.rs +++ b/crates/divan_compat/divan_fork/src/divan.rs @@ -432,7 +432,9 @@ mod codspeed { pid: std::process::id(), uri: uri.clone(), }) { - eprintln!("Failed to send benchmark URI to runner: {}", error); + if std::env::var("CODSPEED_ENV").is_ok() { + eprintln!("Failed to send benchmark URI to runner: {error:?}"); + } } ::codspeed::walltime::collect_raw_walltime_results( From 5caa7715fbc4add31d9d60fc08274613736b12e7 Mon Sep 17 00:00:00 2001 From: not-matthias Date: Tue, 20 May 2025 20:07:19 +0200 Subject: [PATCH 2/2] refactor: use helper to check if running with codspeed runner --- crates/codspeed/src/utils.rs | 4 ++++ crates/codspeed/src/walltime.rs | 2 +- crates/criterion_compat/criterion_fork/src/analysis/mod.rs | 4 ++-- crates/criterion_compat/criterion_fork/src/macros.rs | 2 +- crates/divan_compat/divan_fork/src/divan.rs | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/codspeed/src/utils.rs b/crates/codspeed/src/utils.rs index c4b9eba0..07960fff 100644 --- a/crates/codspeed/src/utils.rs +++ b/crates/codspeed/src/utils.rs @@ -38,6 +38,10 @@ pub fn get_formated_function_path(function_path: impl Into) -> String { function_path.replace(" :: ", "::") } +pub fn running_with_codspeed_runner() -> bool { + std::env::var("CODSPEED_ENV").is_ok() +} + #[cfg(test)] mod tests { use super::*; diff --git a/crates/codspeed/src/walltime.rs b/crates/codspeed/src/walltime.rs index 79e0c8eb..fea658ac 100644 --- a/crates/codspeed/src/walltime.rs +++ b/crates/codspeed/src/walltime.rs @@ -58,7 +58,7 @@ pub fn collect_raw_walltime_results( max_time_ns: Option, times_ns: Vec, ) { - if std::env::var("CODSPEED_ENV").is_err() { + if !crate::utils::running_with_codspeed_runner() { return; } let workspace_root = std::env::var("CODSPEED_CARGO_WORKSPACE_ROOT").map(PathBuf::from); diff --git a/crates/criterion_compat/criterion_fork/src/analysis/mod.rs b/crates/criterion_compat/criterion_fork/src/analysis/mod.rs index f619cdc8..a0120eb9 100644 --- a/crates/criterion_compat/criterion_fork/src/analysis/mod.rs +++ b/crates/criterion_compat/criterion_fork/src/analysis/mod.rs @@ -257,7 +257,7 @@ pub(crate) fn common( } } - if criterion.should_save_baseline() && std::env::var("CODSPEED_ENV").is_ok() { + if criterion.should_save_baseline() && ::codspeed::utils::running_with_codspeed_runner() { codspeed::collect_walltime_results(id, criterion, &iters, avg_times); } } @@ -301,7 +301,7 @@ mod codspeed { pid: std::process::id(), uri: uri.clone(), }) { - if std::env::var("CODSPEED_ENV").is_ok() { + if codspeed::utils::running_with_codspeed_runner() { eprintln!("Failed to send benchmark URI to runner: {error:?}"); } } diff --git a/crates/criterion_compat/criterion_fork/src/macros.rs b/crates/criterion_compat/criterion_fork/src/macros.rs index fed83d6b..ab4219ce 100644 --- a/crates/criterion_compat/criterion_fork/src/macros.rs +++ b/crates/criterion_compat/criterion_fork/src/macros.rs @@ -68,7 +68,7 @@ macro_rules! criterion_group { let mut criterion: $crate::Criterion<_> = $config .configure_from_args(); $( - if std::env::var("CODSPEED_ENV").is_ok() { + if codspeed::utils::running_with_codspeed_runner() { criterion.set_current_file($crate::abs_file!()); criterion.set_macro_group(format!("{}::{}", stringify!($name), stringify!($target))); } diff --git a/crates/divan_compat/divan_fork/src/divan.rs b/crates/divan_compat/divan_fork/src/divan.rs index c0bf6dab..374eb7ed 100644 --- a/crates/divan_compat/divan_fork/src/divan.rs +++ b/crates/divan_compat/divan_fork/src/divan.rs @@ -432,7 +432,7 @@ mod codspeed { pid: std::process::id(), uri: uri.clone(), }) { - if std::env::var("CODSPEED_ENV").is_ok() { + if codspeed::utils::running_with_codspeed_runner() { eprintln!("Failed to send benchmark URI to runner: {error:?}"); } }