tokio_trace_core::metadata

Struct Metadata

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

Metadata describing a span or [event].

This includes the source code location where the span occurred, the names of its fields, et cetera.

Metadata is used by Subscribers when filtering spans and events, and it may also be used as part of their data payload.

When created by the event! or span! macro, the metadata describing a particular event or span is constructed statically and exists as a single static instance. Thus, the overhead of creating the metadata is significantly lower than that of creating the actual span. Therefore, filtering is based on metadata, rather than on the constructed span.

Note: Although instances of Metadata cannot be compared directly, they provide a method Metadata::id() which returns an an opaque callsite identifier which uniquely identifies the callsite where the metadata originated. This can be used for determining if two Metadata correspond to the same callsite.

Implementations§

Source§

impl<'a> Metadata<'a>

Source

pub fn new( name: &'static str, target: &'a str, level: Level, module_path: Option<&'a str>, file: Option<&'a str>, line: Option<u32>, field_names: &'static [&'static str], callsite: &'static dyn Callsite, kind: Kind, ) -> Self

Construct new metadata for a span, with a name, target, level, field names, and optional source code location.

Source

pub fn fields(&self) -> &FieldSet

Returns the set of fields on the described span.

Source

pub fn level(&self) -> &Level

Returns the level of verbosity of the described span.

Source

pub fn name(&self) -> &'static str

Returns the name of the span.

Source

pub fn target(&self) -> &'a str

Returns a string describing the part of the system where the span or event that this metadata describes occurred.

Typically, this is the module path, but alternate targets may be set when spans or events are constructed.

Source

pub fn module_path(&self) -> Option<&'a str>

Returns the path to the Rust module where the span occurred, or None if the module path is unknown.

Source

pub fn file(&self) -> Option<&'a str>

Returns the name of the source code file where the span occurred, or None if the file is unknown

Source

pub fn line(&self) -> Option<u32>

Returns the line number in the source code file where the span occurred, or None if the line number is unknown.

Source

pub fn callsite(&self) -> Identifier

Returns an opaque Identifier that uniquely identifies the callsite this Metadata originated from.

Source

pub fn is_event(&self) -> bool

Returns true if the callsite kind is Event.

Source

pub fn is_span(&self) -> bool

Return true if the callsite kind is Span.

Trait Implementations§

Source§

impl<'a> Debug for Metadata<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Metadata<'a>

§

impl<'a> !RefUnwindSafe for Metadata<'a>

§

impl<'a> Send for Metadata<'a>

§

impl<'a> Sync for Metadata<'a>

§

impl<'a> Unpin for Metadata<'a>

§

impl<'a> !UnwindSafe for Metadata<'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, 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.