pub struct GraphLayer { /* private fields */ }
Expand description
A Layer
that records span open events as directed edges in a call graph.
§Dropping and Flushing
To ensure all data is flushed when the program exits, GraphLayer
exposes
the [flush_on_drop
] function, which returns a FlushGuard
. The FlushGuard
will flush the writer when it is dropped. If necessary, it can also be used to manually
flush the writer.
Implementations§
Source§impl GraphLayer
impl GraphLayer
Sourcepub fn enable_top_node(self, name: &'static str) -> Self
pub fn enable_top_node(self, name: &'static str) -> Self
Add a top node to the graph.
Sourcepub fn disable_top_node(self) -> Self
pub fn disable_top_node(self) -> Self
Remove the top node to the graph.
Source§impl GraphLayer
impl GraphLayer
Sourcepub fn new() -> Self
pub fn new() -> Self
Returns a new GraphLayer
which constructs the call graph.
Sourcepub fn flush_on_drop<W>(&self, writer: W) -> FlushGuard<W>where
W: Write + 'static,
pub fn flush_on_drop<W>(&self, writer: W) -> FlushGuard<W>where
W: Write + 'static,
Returns a FlushGuard
which will flush the GraphLayer
’s writer when
it is dropped, or when flush
is manually invoked on the guard.
Trait Implementations§
Source§impl Clone for GraphLayer
impl Clone for GraphLayer
Source§fn clone(&self) -> GraphLayer
fn clone(&self) -> GraphLayer
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for GraphLayer
impl Debug for GraphLayer
Source§impl Default for GraphLayer
impl Default for GraphLayer
Source§impl<S> Layer<S> for GraphLayerwhere
S: Subscriber + for<'span> LookupSpan<'span>,
impl<S> Layer<S> for GraphLayerwhere
S: Subscriber + for<'span> LookupSpan<'span>,
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 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 new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn 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, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
Notifies this layer that a span with the given
Id
recorded the given
values
.Source§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_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_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_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 moreAuto Trait Implementations§
impl Freeze for GraphLayer
impl RefUnwindSafe for GraphLayer
impl Send for GraphLayer
impl Sync for GraphLayer
impl Unpin for GraphLayer
impl UnwindSafe for GraphLayer
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