mod build;
mod endpoints;
mod start;
mod timer;
#[macro_export]
macro_rules! log {
($($tt:tt)*) => {{
$crate::__internal::core::log!($($tt)*);
}};
}
#[macro_export]
macro_rules! export_candid {
() => {
$crate::cdk::export_candid!();
};
}
#[macro_export]
macro_rules! perf {
($($label:tt)*) => {{
$crate::__internal::core::perf::PERF_LAST.with(|last| {
let now = $crate::__internal::core::perf::perf_counter();
let then = *last.borrow();
let delta = now.saturating_sub(then);
*last.borrow_mut() = now;
let label = format!($($label)*);
let delta_fmt = $crate::utils::instructions::format_instructions(delta);
let now_fmt = $crate::utils::instructions::format_instructions(now);
$crate::__internal::core::log!(
Info,
Topic::Perf,
"{}: '{}' used {}i since last (total: {}i)",
module_path!(),
label,
delta_fmt,
now_fmt
);
});
}};
}