pub struct Event<'a> { /* private fields */ }
Expand description
Event
s represent single points in time where something occurred during the
execution of a program.
An Event
can be compared to a log record in unstructured logging, but with
two key differences:
Event
s exist within the context of a span. Unlike log lines, they may be located within the trace tree, allowing visibility into the temporal context in which the event occurred, as well as the source code location.- Like spans,
Event
s have structured key-value data known as fields, which may include textual message. In general, a majority of the data associated with an event should be in the event’s fields rather than in the textual message, as the fields are more structured.
Implementations
sourceimpl<'a> Event<'a>
impl<'a> Event<'a>
sourcepub fn dispatch(metadata: &'static Metadata<'static>, fields: &'a ValueSet<'_>)
pub fn dispatch(metadata: &'static Metadata<'static>, fields: &'a ValueSet<'_>)
Constructs a new Event
with the specified metadata and set of values,
and observes it with the current subscriber.
sourcepub fn new(
metadata: &'static Metadata<'static>,
fields: &'a ValueSet<'a>
) -> Event<'a>
pub fn new(
metadata: &'static Metadata<'static>,
fields: &'a ValueSet<'a>
) -> Event<'a>
Returns a new Event
in the current span, with the specified metadata
and set of values.
sourcepub fn new_child_of(
parent: impl Into<Option<Id>>,
metadata: &'static Metadata<'static>,
fields: &'a ValueSet<'a>
) -> Event<'a>
pub fn new_child_of(
parent: impl Into<Option<Id>>,
metadata: &'static Metadata<'static>,
fields: &'a ValueSet<'a>
) -> Event<'a>
Returns a new Event
as a child of the specified span, with the
provided metadata and set of values.
sourcepub fn child_of(
parent: impl Into<Option<Id>>,
metadata: &'static Metadata<'static>,
fields: &'a ValueSet<'_>
)
pub fn child_of(
parent: impl Into<Option<Id>>,
metadata: &'static Metadata<'static>,
fields: &'a ValueSet<'_>
)
Constructs a new Event
with the specified metadata and set of values,
and observes it with the current subscriber and an explicit parent.
sourcepub fn record(&self, visitor: &mut dyn Visit)
pub fn record(&self, visitor: &mut dyn Visit)
Visits all the fields on this Event
with the specified visitor.
sourcepub fn fields(&self) -> IterⓘNotable traits for Iterimpl Iterator for Iter type Item = Field;
pub fn fields(&self) -> IterⓘNotable traits for Iterimpl Iterator for Iter type Item = Field;
Returns an iterator over the set of values on this Event
.
sourcepub fn is_contextual(&self) -> bool
pub fn is_contextual(&self) -> bool
Returns true if the new event’s parent should be determined based on the current context.
If this is true and the current thread is currently inside a span, then that span should be the new event’s parent. Otherwise, if the current thread is not inside a span, then the new event will be the root of its own trace tree.
Trait Implementations
sourceimpl<'a> NormalizeEvent<'a> for Event<'a>
impl<'a> NormalizeEvent<'a> for Event<'a>
sourcepub fn normalized_metadata(&'a self) -> Option<Metadata<'a>>
pub fn normalized_metadata(&'a self) -> Option<Metadata<'a>>
If this Event
comes from a log
, this method provides a new
normalized Metadata
which has all available attributes
from the original log, including file
, line
, module_path
and target
.
Returns None
is the Event
is not issued from a log
. Read more
Auto Trait Implementations
impl<'a> !RefUnwindSafe for Event<'a>
impl<'a> !Send for Event<'a>
impl<'a> !Sync for Event<'a>
impl<'a> Unpin for Event<'a>
impl<'a> !UnwindSafe for Event<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more