#![deny(warnings)]
#[cfg(enabled)]
pub mod runtime {
pub use tracers_core::failure;
pub use tracers_core::libc;
pub use tracers_core::{wrap, ProbeArgNativeType, ProbeArgType, ProbeArgWrapper};
#[cfg(dynamic_enabled)]
pub mod dynamic {
pub extern crate once_cell;
pub use tracers_core::dynamic::*;
#[cfg(dyn_stap_enabled)]
pub type SystemTracer = tracers_dyn_stap::StapTracer;
#[cfg(dyn_noop_enabled)]
pub type SystemTracer = tracers_noop::NoOpTracer;
#[cfg(dynamic_enabled)]
pub type SystemProvider = <SystemTracer as Tracer>::ProviderType;
#[cfg(dynamic_enabled)]
pub type SystemProbe = <SystemTracer as Tracer>::ProbeType;
}
}
#[cfg(test)]
mod test {
#[cfg(dynamic_enabled)]
use super::runtime::*;
#[cfg(dynamic_enabled)]
use tracers_core::dynamic::Tracer;
#[test]
#[cfg(dynamic_enabled)]
fn verify_expected_dynamic_tracing_impl() {
if let Ok(expected_impl) = std::env::var("TRACERS_EXPECTED_DYNAMIC_IMPL") {
assert_eq!(expected_impl, dynamic::SystemTracer::TRACING_IMPLEMENTATION);
}
}
#[test]
#[cfg(not(dynamic_enabled))]
fn verify_expected_dynamic_tracing_impl() {
if let Ok(expected_impl) = std::env::var("TRACERS_EXPECTED_DYNAMIC_IMPL") {
assert_eq!(expected_impl, "DISABLED",
"the crate was compiled with dynamic tracing disabled but apparently the expected implementation was '{}'", expected_impl);
}
}
}