pub use metricrs_derive::*;
use crate::Token;
pub enum DeriveKind {
Counter,
Timer,
}
#[derive(Default)]
pub struct DeriveOption<'a> {
pub kind: Option<DeriveKind>,
pub name: Option<&'a str>,
pub labels: Option<&'a [(&'a str, &'a str)]>,
}
impl<'a> From<DeriveOption<'a>> for Token<'a> {
fn from(value: DeriveOption<'a>) -> Self {
Self::new(
value.name.unwrap_or(concat!(module_path!(), column!())),
value.labels.unwrap_or_default(),
)
}
}