[][src]Trait tracing_subscriber::registry::LookupSpan

pub trait LookupSpan<'a> {
    type Data: SpanData<'a>;
    fn span_data(&'a self, id: &Id) -> Option<Self::Data>;

    fn span(&'a self, id: &Id) -> Option<SpanRef<Self>>
    where
        Self: Sized
, { ... } }

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 Layers wrapping them can look up metadata via the Context type's span() method.

Associated Types

type Data: SpanData<'a>

The type of span data stored in this registry.

Loading content...

Required methods

fn span_data(&'a self, id: &Id) -> Option<Self::Data>

Returns the SpanData for a given Id, if it exists.

Note: users of the LookupSpan trait should typically call the span method rather than this method. The span method is implemented by calling span_data, but returns a reference which is capable of performing more sophisiticated queries.

Loading content...

Provided methods

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 registryr 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.

Loading content...

Implementors

impl<'a> LookupSpan<'a> for Registry[src]

type Data = Data<'a>

impl<'a, L, S> LookupSpan<'a> for Layered<L, S> where
    S: Subscriber + LookupSpan<'a>, 
[src]

type Data = S::Data

impl<'a, N, E, F, W> LookupSpan<'a> for Subscriber<N, E, F, W> where
    Layered<F, Formatter<N, E, W>>: LookupSpan<'a>, 
[src]

type Data = <Layered<F, Formatter<N, E, W>> as LookupSpan<'a>>::Data

Loading content...