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 Subscriber
s 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>
impl<'a> Metadata<'a>
Sourcepub 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
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.
Sourcepub fn target(&self) -> &'a str
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.
Sourcepub fn module_path(&self) -> Option<&'a str>
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.
Sourcepub fn file(&self) -> Option<&'a str>
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
Sourcepub fn line(&self) -> Option<u32>
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.
Sourcepub fn callsite(&self) -> Identifier
pub fn callsite(&self) -> Identifier
Returns an opaque Identifier
that uniquely identifies the callsite
this Metadata
originated from.