Struct Dispatch

pub struct Dispatch { /* private fields */ }

Dispatch trace data to a Subscriber.

Implementations

impl Dispatch

fn none() -> Self

Returns a new Dispatch that discards events and spans.

fn new<S>(subscriber: S) -> Self
where
    S: Subscriber + Send + Sync + 'static,

Returns a Dispatch that forwards to the given Subscriber.

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.

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.

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.

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.

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.

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.

fn event(&self, event: &Event<'_>)

Records that an Event has occurred.

This calls the event function on the Subscriber that this Dispatch forwards to.

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.

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.

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.

fn drop_span(&self, id: Id)

Notifies 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: The 
    try_close method is functionally identical, but returns
    true if the span is now closed. It should be used
    instead of this method.
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.

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.

fn is<T: Any>(&self) -> bool

Returns true if this Dispatch forwards to a Subscriber of type T.

fn downcast_ref<T: Any>(&self) -> Option<&T>

Returns some reference to the Subscriber this Dispatch forwards to if it is of type T, or None if it isn't.

Trait Implementations

impl Clone for Dispatch

fn clone(&self) -> Dispatch

impl Debug for Dispatch

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Default for Dispatch

fn default() -> Self

Returns the current default dispatcher

impl<S> From<S> for Dispatch where S: Subscriber + Send + Sync + 'static,

fn from(subscriber: S) -> Self

Auto Trait Implementations

impl !RefUnwindSafe for Dispatch

impl !UnwindSafe for Dispatch

impl Freeze for Dispatch

impl Send for Dispatch

impl Sync for Dispatch

impl Unpin for Dispatch

impl UnsafeUnpin for Dispatch

Blanket Implementations

impl<T> Any for Dispatch where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Dispatch where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Dispatch where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Dispatch where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Dispatch

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for Dispatch where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Dispatch where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Dispatch where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for Dispatch where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>