pub trait Tracer {
// Required methods
fn register_callsite(&self, callsite: &'static Callsite) -> NonZeroU32;
fn span_create(
&self,
callsite: NonZeroU32,
fields: &[Field<'_>],
) -> NonZeroU32;
fn span_enter(&self, id: Id);
fn span_record(&self, id: Id, fields: &[Field<'_>]);
fn span_exit(&self, id: Id);
fn span_destroy(&self, id: Id);
}