Struct tracing_core::Dispatch
source · [−]pub struct Dispatch { /* private fields */ }
Expand description
Dispatch
trace data to a Collect
.
Implementations
sourceimpl Dispatch
impl Dispatch
sourcepub fn new<C>(collector: C) -> Self where
C: Collect + Send + Sync + 'static,
Available on crate features std
or alloc
only.
pub fn new<C>(collector: C) -> Self where
C: Collect + Send + Sync + 'static,
std
or alloc
only.Returns a Dispatch
that forwards to the given Collect
.
sourcepub fn from_static(collector: &'static (dyn Collect + Send + Sync)) -> Self
pub fn from_static(collector: &'static (dyn Collect + Send + Sync)) -> Self
Returns a Dispatch
that forwards to the given static collector.
Unlike Dispatch::new
, this function is always available on all
platforms, even when the std
or alloc
features are disabled.
In order to use from_static
, the Collector
itself must be stored in
a static. For example:
struct MyCollector {
// ...
}
impl tracing_core::Collect for MyCollector {
// ...
}
static COLLECTOR: MyCollector = MyCollector {
// ...
};
fn main() {
use tracing_core::dispatch::{self, Dispatch};
let dispatch = Dispatch::from_static(&COLLECTOR);
dispatch::set_global_default(dispatch)
.expect("no global default collector should have been set previously!");
}
Constructing the collector in a static initializer may make some forms
of runtime configuration more challenging. If this is the case, users
with access to liballoc
or the Rust standard library are encouraged to
use Dispatch::new
rather than from_static
. no_std
users who
cannot allocate or do not have access to liballoc
may want to consider
the lazy_static
crate, or another library which allows lazy
initialization of statics.
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 Collect
that this Dispatch
forwards to.
sourcepub fn new_span(&self, span: &Attributes<'_>) -> Id
pub fn new_span(&self, span: &Attributes<'_>) -> Id
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 Collect
that this Dispatch
forwards to.
sourcepub fn clone_span(&self, id: &Id) -> Id
pub fn clone_span(&self, id: &Id) -> Id
Notifies the collector 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 Collect
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)
use Dispatch::try_close
instead
Notifies the collector 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 Collect
that this
Dispatch
forwards to.
Deprecated: The
try_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 collector 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 Collect
trait
that this Dispatch
forwards to.
sourcepub fn current_span(&self) -> Current
pub fn current_span(&self) -> Current
Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
Uses borrowed data to replace owned data, usually by cloning. Read more