pub struct PrintTreeLayer { /* private fields */ }
Expand description
GraphLayer (internally called layer::graph)
This Layer prints a call graph to stdout. Please note that this layer both prints data about spans and events.
Spans from the threads other than the main thread are not printed. Events from the main thread are attached to the latest main thread span.
Depending on the Config::accumulate_events
setting, the layer will either print the events of each span or accumulate the events of the children into the parent.
example output:
cargo test all_layers -- --nocapture
running 1 test
root span [ 178.94µs | 100.00% ]
Events:
event in span2: 1
event in span3 { field5: value5 }: 2
├── child span1 [ 4.63µs | 2.59% ] { field1 = value1 }
└── child span2 [ 93.40µs | 52.20% ] { field2 = value2 }
Events:
event in span2: 1
event in span3 { field5: value5 }: 2
├── child span3 [ 15.47µs | 8.64% ] { field3 = value3 }
│ Events:
│ event in span3 { field5: value5 }: 2
│
└── child span4 [ 2.87µs | 1.60% ] { field4 = value4 }
test tests::all_layers ... ok
Implementations§
Trait Implementations§
Source§impl<S> Layer<S> for Layerwhere
S: Subscriber + for<'lookup> LookupSpan<'lookup>,
impl<S> Layer<S> for Layerwhere
S: Subscriber + for<'lookup> LookupSpan<'lookup>,
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>)
Notifies this layer that a new span was constructed with the given
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>)
Notifies this layer that a span with the given
Id
recorded the given
values
.Source§fn on_enter(&self, id: &Id, _ctx: Context<'_, S>)
fn on_enter(&self, id: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span with the given ID was entered.
Source§fn on_exit(&self, id: &Id, ctx: Context<'_, S>)
fn on_exit(&self, id: &Id, ctx: Context<'_, S>)
Notifies this layer that the span with the given ID was exited.
Source§fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
Notifies this layer that an event has occurred.
Source§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Performs late initialization when installing this layer as a
Subscriber
. Read moreSource§fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
Registers a new callsite with this layer, returning whether or not
the layer is interested in being notified about the callsite, similarly
to
Subscriber::register_callsite
. Read moreSource§fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
Returns
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>)
Notifies this layer that a span with the ID
span
recorded that it
follows from the span with the ID follows
.Source§fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
Notifies this layer that the span with the given ID has been closed.
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>)
Notifies this layer that a span ID has been cloned, and that the
subscriber returned a different ID.
Source§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
Composes this layer around the given
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,
Composes this
Layer
with the given Subscriber
, returning a
Layered
struct that implements Subscriber
. Read moreSource§fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
Auto Trait Implementations§
impl Freeze for Layer
impl RefUnwindSafe for Layer
impl Send for Layer
impl Sync for Layer
impl Unpin for Layer
impl UnwindSafe for Layer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more