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_follows_from(&self, id: &Id, follows_id: &Id, ctx: Context<'_, S>)
fn on_follows_from(&self, id: &Id, follows_id: &Id, ctx: Context<'_, S>)
span
recorded that it
follows from the span with the ID follows
.§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Subscriber
. Read more§fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
Subscriber::register_callsite
. Read more§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 more§fn event_enabled(&self, _event: &Event<'_>, _ctx: Context<'_, S>) -> bool
fn event_enabled(&self, _event: &Event<'_>, _ctx: Context<'_, S>) -> bool
§fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>where
L: Layer<S>,
Self: Sized,
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>where
L: Layer<S>,
Self: Sized,
Layer
, returning a Layered
struct implementing Layer
. Read more§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