Struct tracing_capture::CaptureLayer
source · pub struct CaptureLayer<S> { /* private fields */ }
Expand description
Tracing Layer
that captures (optionally filtered) spans and events.
The layer can optionally filter spans and events in addition to global Subscriber
filtering.
This could be used instead of per-layer filtering if it’s not supported by the Subscriber
.
Keep in mind that without filtering, CaptureLayer
can capture a lot of
unnecessary spans / events.
Captured events are tied to the nearest captured span
in the span hierarchy. If no entered spans are captured when the event is emitted,
the event will be captured in Storage::root_events()
.
§Examples
See crate-level docs for an example of usage.
Implementations§
source§impl<S> CaptureLayer<S>where
S: Subscriber + for<'a> LookupSpan<'a>,
impl<S> CaptureLayer<S>where
S: Subscriber + for<'a> LookupSpan<'a>,
sourcepub fn new(storage: &SharedStorage) -> Self
pub fn new(storage: &SharedStorage) -> Self
Creates a new layer that will use the specified storage
to store captured data.
Captured spans are not filtered; like any Layer
, filtering can be set up
on the layer or subscriber level.
sourcepub fn with_filter<F>(self, filter: F) -> Self
pub fn with_filter<F>(self, filter: F) -> Self
Specifies filtering for this layer. Unlike with per-layer filtering,
the resulting layer will perform filtering for all Subscriber
s, not just Registry
.
Trait Implementations§
source§impl<S> Debug for CaptureLayer<S>
impl<S> Debug for CaptureLayer<S>
source§impl<S> Layer<S> for CaptureLayer<S>where
S: Subscriber + for<'a> LookupSpan<'a>,
impl<S> Layer<S> for CaptureLayer<S>where
S: Subscriber + for<'a> LookupSpan<'a>,
source§fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
Attributes
and Id
.source§fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
Id
recorded the given
values
.source§fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
source§fn on_enter(&self, id: &Id, ctx: Context<'_, S>)
fn on_enter(&self, id: &Id, ctx: Context<'_, S>)
source§fn on_exit(&self, id: &Id, ctx: Context<'_, S>)
fn on_exit(&self, id: &Id, ctx: Context<'_, S>)
source§fn on_close(&self, id: Id, ctx: Context<'_, S>)
fn on_close(&self, id: Id, ctx: Context<'_, S>)
source§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Subscriber
. Read moresource§fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
Subscriber::register_callsite
. Read moresource§fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
true
if this layer is interested in a span or event with the
given metadata
in the current Context
, similarly to
Subscriber::enabled
. Read moresource§fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
span
recorded that it
follows from the span with the ID follows
.source§fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
source§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
Layer
, returning a Layered
struct implementing Layer
. Read moresource§fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
Layer
with the given Subscriber
, returning a
Layered
struct that implements Subscriber
. Read more