Struct tracing_core::Metadata

source ·
pub struct Metadata<'a> {
    name: &'static str,
    target: &'a str,
    level: Level,
    module_path: Option<&'a str>,
    file: Option<&'a str>,
    line: Option<u32>,
    fields: FieldSet,
    kind: Kind,
}
Expand description

Metadata describing a span or event.

All spans and events have the following metadata:

  • A name, represented as a static string.
  • A target, a string that categorizes part of the system where the span or event occurred. The tracing macros default to using the module path where the span or event originated as the target, but it may be overridden.
  • A verbosity level. This determines how verbose a given span or event is, and allows enabling or disabling more verbose diagnostics situationally. See the documentation for the Level type for details.
  • The names of the fields defined by the span or event.
  • Whether the metadata corresponds to a span or event.

In addition, the following optional metadata describing the source code location where the span or event originated may be provided:

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
    id, returning
    an opaque callsite
    identifierwhich uniquely identifies the callsite where the metadata
    originated. This can be used to determine if two Metadata
    correspond to the same callsite.

Fields

name: &'static str

The name of the span described by this metadata.

target: &'a str

The part of the system that the span that this metadata describes occurred in.

level: Level

The level of verbosity of the described span.

module_path: Option<&'a str>

The name of the Rust module where the span occurred, or None if this could not be determined.

file: Option<&'a str>

The name of the source code file where the span occurred, or None if this could not be determined.

line: Option<u32>

The line number in the source code file where the span occurred, or None if this could not be determined.

fields: FieldSet

The names of the key-value fields attached to the described span or event.

kind: Kind

The kind of the callsite.

Implementations

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

Returns the names of the fields on the described span or event.

Returns the level of verbosity of the described span or event.

Returns the name of the span.

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.

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

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

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

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

Returns true if the callsite kind is Event.

Return true if the callsite kind is Span.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.