Struct tracing_core::span::Current
source · pub struct Current {
inner: CurrentInner,
}
Expand description
Indicates what the Subscriber
considers the “current” span.
As subscribers may not track a notion of a current span, this has three possible states:
Fields§
§inner: CurrentInner
Implementations§
source§impl Current
impl Current
sourcepub fn new(id: Id, metadata: &'static Metadata<'static>) -> Self
pub fn new(id: Id, metadata: &'static Metadata<'static>) -> Self
Constructs a new Current
that indicates the current context is a span
with the given metadata
and metadata
.
sourcepub fn none() -> Self
pub fn none() -> Self
Constructs a new Current
that indicates the current context is not
in a span.
sourcepub(crate) fn unknown() -> Self
pub(crate) fn unknown() -> Self
Constructs a new Current
that indicates the Subscriber
does not
track a current span.
sourcepub fn is_known(&self) -> bool
pub fn is_known(&self) -> bool
Returns true
if the Subscriber
that constructed this Current
tracks a
current span.
If this returns true
and id
, metadata
, or into_inner
return None
, that indicates that we are currently known to not be
inside a span. If this returns false
, those methods will also return
None
, but in this case, that is because the subscriber does not keep
track of the currently-entered span.
sourcepub fn into_inner(self) -> Option<(Id, &'static Metadata<'static>)>
pub fn into_inner(self) -> Option<(Id, &'static Metadata<'static>)>
Consumes self
and returns the span Id
and Metadata
of the current
span, if one exists and is known.