tracing

Struct Event

Source
pub struct Event<'a> { /* private fields */ }
Expand description

Events 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:

  • Events 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, Events 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§

Source§

impl<'a> Event<'a>

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub fn record(&self, visitor: &mut dyn Visit)

Visits all the fields on this Event with the specified visitor.

Source

pub fn fields(&self) -> Iter

Returns an iterator over the set of values on this Event.

Source

pub fn metadata(&self) -> &'static Metadata<'static>

Returns metadata describing this Event.

Source

pub fn is_root(&self) -> bool

Returns true if the new event should be a root.

Source

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.

Source

pub fn parent(&self) -> Option<&Id>

Returns the new event’s explicitly-specified parent, if there is one.

Otherwise (if the new event is a root or is a child of the current span), returns None.

Trait Implementations§

Source§

impl<'a> Debug for Event<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Event<'a>

§

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§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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 T
where 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.

Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

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

Available on crate feature std only.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Available on crate feature std only.
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 32 bytes