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 d2431403..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,9 @@ mod codspeed { pid: std::process::id(), uri: uri.clone(), }) { - eprintln!("Failed to send benchmark URI to runner: {}", error); + if codspeed::utils::running_with_codspeed_runner() { + 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/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 3fe6688e..374eb7ed 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 codspeed::utils::running_with_codspeed_runner() { + eprintln!("Failed to send benchmark URI to runner: {error:?}"); + } } ::codspeed::walltime::collect_raw_walltime_results(