1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// SPDX-License-Identifier: GPL-3.0-or-later
pub(crate) const PERF_ENV_VAR: &str = "GSTORE_PERF";
#[macro_export]
macro_rules! print_perf {
(
$expr:expr;
$message:expr
) => {
if let Ok(_s) = std::env::var(crate::utils::PERF_ENV_VAR) {
let t0 = std::time::Instant::now();
$expr;
let d = std::time::Instant::now().duration_since(t0);
info!("[gstore] [{:06} μs]: {}", d.as_micros(), $message);
} else {
$expr;
}
};
}