Struct Dispatch
pub struct Dispatch { /* private fields */ }
dep_tracing
and alloc
only.Expand description
Dispatch
trace data to a Subscriber
.
Implementations§
§impl Dispatch
impl Dispatch
pub fn new<S>(subscriber: S) -> Dispatch
pub fn new<S>(subscriber: S) -> Dispatch
Returns a Dispatch
that forwards to the given Subscriber
.
pub 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.
pub 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 subscriber, returning whether or not the subscriber is interested in being notified about the callsite.
This calls the register_callsite
function on the Subscriber
that this Dispatch
forwards to.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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.
pub 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
.
pub 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§
Auto Trait Implementations§
impl Freeze for Dispatch
impl !RefUnwindSafe for Dispatch
impl Send for Dispatch
impl Sync for Dispatch
impl Unpin for Dispatch
impl !UnwindSafe for Dispatch
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.