Struct polkadot_node_subsystem::gen::tracing::Dispatch
source · pub struct Dispatch { /* private fields */ }
Expand description
Dispatch
trace data to a Subscriber
.
Implementations§
source§impl Dispatch
impl Dispatch
sourcepub fn new<S>(subscriber: S) -> Dispatchwhere
S: Subscriber + Send + Sync + 'static,
pub fn new<S>(subscriber: S) -> Dispatchwhere S: Subscriber + Send + Sync + 'static,
Returns a Dispatch
that forwards to the given Subscriber
.
sourcepub fn downgrade(&self) -> WeakDispatch
pub fn downgrade(&self) -> WeakDispatch
Creates a WeakDispatch
from this Dispatch
.
A WeakDispatch
is similar to a Dispatch
, but it does not prevent
the underlying Subscriber
from being dropped. Instead, it only permits
access while other references to the Subscriber
exist. This is equivalent
to the standard library’s Arc::downgrade
method, but for Dispatch
rather than Arc
.
The primary use for creating a WeakDispatch
is to allow a Subscriber
to hold a cyclical reference to itself without creating a memory leak.
See here for details.
sourcepub fn register_callsite(
&self,
metadata: &'static Metadata<'static>
) -> Interest
pub fn register_callsite( &self, metadata: &'static Metadata<'static> ) -> Interest
Registers a new callsite with this collector, returning whether or not the collector is interested in being notified about the callsite.
This calls the register_callsite
function on the Subscriber
that this Dispatch
forwards to.
sourcepub fn new_span(&self, span: &Attributes<'_>) -> Id
pub fn new_span(&self, span: &Attributes<'_>) -> Id
Record the construction of a new span, returning a new ID for the span being constructed.
This calls the new_span
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn record(&self, span: &Id, values: &Record<'_>)
pub fn record(&self, span: &Id, values: &Record<'_>)
Record a set of values on a span.
This calls the record
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn record_follows_from(&self, span: &Id, follows: &Id)
pub fn record_follows_from(&self, span: &Id, follows: &Id)
Adds an indication that span
follows from the span with the id
follows
.
This calls the record_follows_from
function on the Subscriber
that this Dispatch
forwards to.
sourcepub fn enabled(&self, metadata: &Metadata<'_>) -> bool
pub fn enabled(&self, metadata: &Metadata<'_>) -> bool
Returns true if a span with the specified metadata would be recorded.
This calls the enabled
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn event(&self, event: &Event<'_>)
pub fn event(&self, event: &Event<'_>)
Records that an Event
has occurred.
This calls the event
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn enter(&self, span: &Id)
pub fn enter(&self, span: &Id)
Records that a span has been can_enter.
This calls the enter
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn exit(&self, span: &Id)
pub fn exit(&self, span: &Id)
Records that a span has been exited.
This calls the exit
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn clone_span(&self, id: &Id) -> Id
pub fn clone_span(&self, id: &Id) -> Id
Notifies the subscriber that a span ID has been cloned.
This function must only be called with span IDs that were returned by
this Dispatch
’s new_span
function. The tracing
crate upholds
this guarantee and any other libraries implementing instrumentation APIs
must as well.
This calls the clone_span
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn drop_span(&self, id: Id)
👎Deprecated since 0.1.2: use Dispatch::try_close
instead
pub fn drop_span(&self, id: Id)
Dispatch::try_close
insteadNotifies the subscriber that a span ID has been dropped.
This function must only be called with span IDs that were returned by
this Dispatch
’s new_span
function. The tracing
crate upholds
this guarantee and any other libraries implementing instrumentation APIs
must as well.
This calls the drop_span
function on the Subscriber
that this
Dispatch
forwards to.
Deprecated: Thetry_close
method is functionally identical, but returnstrue
if the span is now closed. It should be used instead of this method.
sourcepub fn try_close(&self, id: Id) -> bool
pub fn try_close(&self, id: Id) -> bool
Notifies the subscriber that a span ID has been dropped, and returns
true
if there are now 0 IDs referring to that span.
This function must only be called with span IDs that were returned by
this Dispatch
’s new_span
function. The tracing
crate upholds
this guarantee and any other libraries implementing instrumentation APIs
must as well.
This calls the try_close
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn current_span(&self) -> Current
pub fn current_span(&self) -> Current
Returns a type representing this subscriber’s view of the current span.
This calls the current
function on the Subscriber
that this
Dispatch
forwards to.
sourcepub fn is<T>(&self) -> boolwhere
T: Any,
pub fn is<T>(&self) -> boolwhere T: Any,
Returns true
if this Dispatch
forwards to a Subscriber
of type
T
.
sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: Any,
pub fn downcast_ref<T>(&self) -> Option<&T>where T: Any,
Returns some reference to the Subscriber
this Dispatch
forwards to
if it is of type T
, or None
if it isn’t.
Trait Implementations§
source§impl<N, E, F, W> From<SubscriberBuilder<N, E, F, W>> for Dispatchwhere
N: for<'writer> FormatFields<'writer> + 'static,
E: FormatEvent<Registry, N> + 'static,
W: MakeWriter + 'static,
F: Layer<Layered<Layer<Registry, N, E, W>, Registry, Registry>> + Send + Sync + 'static,
Layer<Registry, N, E, W>: Layer<Registry> + Send + Sync + 'static,
impl<N, E, F, W> From<SubscriberBuilder<N, E, F, W>> for Dispatchwhere N: for<'writer> FormatFields<'writer> + 'static, E: FormatEvent<Registry, N> + 'static, W: MakeWriter + 'static, F: Layer<Layered<Layer<Registry, N, E, W>, Registry, Registry>> + Send + Sync + 'static, Layer<Registry, N, E, W>: Layer<Registry> + Send + Sync + 'static,
source§fn from(builder: SubscriberBuilder<N, E, F, W>) -> Dispatch
fn from(builder: SubscriberBuilder<N, E, F, W>) -> Dispatch
Auto Trait Implementations§
impl !RefUnwindSafe for Dispatch
impl Send for Dispatch
impl Sync for Dispatch
impl Unpin for Dispatch
impl !UnwindSafe for Dispatch
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
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> SubscriberInitExt for Twhere
T: Into<Dispatch>,
impl<T> SubscriberInitExt for Twhere T: Into<Dispatch>,
source§fn set_default(self) -> DefaultGuard
fn set_default(self) -> DefaultGuard
self
as the default subscriber in the current scope, returning a
guard that will unset it when dropped. Read moresource§fn try_init(self) -> Result<(), TryInitError>
fn try_init(self) -> Result<(), TryInitError>
self
as the global default subscriber in the current
scope, returning an error if one is already set. Read moresource§fn init(self)
fn init(self)
self
as the global default subscriber in the current
scope, panicking if this fails. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.