pub struct Dispatch { /* private fields */ }
Expand description

Dispatch trace data to a Subscriber.

Implementations§

§

impl Dispatch

pub fn none() -> Dispatch

Returns a new Dispatch that discards events and spans.

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

Returns a Dispatch that forwards to the given Subscriber.

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

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.

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<'_>)

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)

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

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<'_>)

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)

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)

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

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

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.

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

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,

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

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§

§

impl Clone for Dispatch

§

fn clone(&self) -> Dispatch

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Dispatch

§

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

Formats the value using the given formatter. Read more
§

impl Default for Dispatch

§

fn default() -> Dispatch

Returns the current default dispatcher

§

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

§

fn from(subscriber: S) -> Dispatch

Converts to this type from the input type.
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: for<'writer> MakeWriter<'writer> + '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

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
§

impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

§

fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

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> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SubscriberInitExt for Twhere T: Into<Dispatch>,

source§

fn set_default(self) -> DefaultGuard

Sets self as the default subscriber in the current scope, returning a guard that will unset it when dropped. Read more
source§

fn try_init(self) -> Result<(), TryInitError>

Attempts to set self as the global default subscriber in the current scope, returning an error if one is already set. Read more
source§

fn init(self)

Attempts to set self as the global default subscriber in the current scope, panicking if this fails. Read more
§

impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
§

impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,

§

fn upcast_any_ref(&self) -> &(dyn Any + 'static)

upcast ref
§

fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)

upcast mut ref
§

fn upcast_any_box(self: Box<T, Global>) -> Box<dyn Any, Global>

upcast boxed dyn
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> State for Twhere T: Debug + Clone + Send + Sync,