pub trait LookupSpan<'a> {
type Data: SpanData<'a>;
// Required method
fn span_data(&'a self, id: &Id) -> Option<Self::Data> ⓘ;
// Provided methods
fn span(&'a self, id: &Id) -> Option<SpanRef<'_, Self>> ⓘ
where Self: Sized { ... }
fn register_filter(&mut self) -> FilterId { ... }
}
Expand description
Provides access to stored span data.
Subscribers which store span data and associate it with span IDs should
implement this trait; if they do, any Subscriber
s wrapping them can look up
metadata via the Context
type’s span()
method.
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn span(&'a self, id: &Id) -> Option<SpanRef<'_, Self>> ⓘwhere
Self: Sized,
fn span(&'a self, id: &Id) -> Option<SpanRef<'_, Self>> ⓘwhere
Self: Sized,
Returns a SpanRef
for the span with the given Id
, if it exists.
A SpanRef
is similar to SpanData
, but it allows performing
additional lookups against the registry that stores the wrapped data.
In general, users of the LookupSpan
trait should use this method
rather than the span_data
method; while implementors of this trait
should only implement span_data
.
Sourcefn register_filter(&mut self) -> FilterId
Available on crate feature registry
only.
fn register_filter(&mut self) -> FilterId
registry
only.Registers a Filter
for per-subscriber filtering with this
collector.
The Filter
can then use the returned FilterId
to
check if it previously enabled a span.
§Panics
If this collector does not support per-subscriber filtering.
Implementations on Foreign Types§
Source§impl<'a, S> LookupSpan<'a> for Box<S>where
S: LookupSpan<'a>,
Available on crate features alloc
or std
only.
impl<'a, S> LookupSpan<'a> for Box<S>where
S: LookupSpan<'a>,
alloc
or std
only.Source§impl<'a, S> LookupSpan<'a> for Arc<S>where
S: LookupSpan<'a>,
Available on crate features alloc
or std
only.
impl<'a, S> LookupSpan<'a> for Arc<S>where
S: LookupSpan<'a>,
alloc
or std
only.Implementors§
Source§impl<'a> LookupSpan<'a> for Registry
Available on crate features registry
and std
only.
impl<'a> LookupSpan<'a> for Registry
registry
and std
only.Source§impl<'a, N, E, F, W> LookupSpan<'a> for Collector<N, E, F, W>
Available on crate features fmt
and std
only.
impl<'a, N, E, F, W> LookupSpan<'a> for Collector<N, E, F, W>
fmt
and std
only.