Struct tracing_core::field::FieldSet
source · pub struct FieldSet { /* private fields */ }
Expand description
Describes the fields present on a span.
Equality
In well-behaved applications, two FieldSet
s initialized with equal
callsite identifiers will have identical fields. Consequently, in release
builds, FieldSet::eq
only checks that its arguments have equal
callsites. However, the equality of field names is checked in debug builds.
Implementations§
source§impl FieldSet
impl FieldSet
sourcepub const fn new(names: &'static [&'static str], callsite: Identifier) -> Self
pub const fn new(names: &'static [&'static str], callsite: Identifier) -> Self
Constructs a new FieldSet
with the given array of field names and callsite.
sourcepub fn field<Q>(&self, name: &Q) -> Option<Field>where
Q: Borrow<str> + ?Sized,
pub fn field<Q>(&self, name: &Q) -> Option<Field>where
Q: Borrow<str> + ?Sized,
Returns the Field
named name
, or None
if no such field exists.
sourcepub fn contains(&self, field: &Field) -> bool
pub fn contains(&self, field: &Field) -> bool
Returns true
if self
contains the given field
.
Note: Iffield
shares a name with a field in thisFieldSet
, but was created by aFieldSet
with a different callsite, thisFieldSet
does not contain it. This is so that if two separate span callsites define a field named "foo", theField
corresponding to "foo" for each of those callsites are not equivalent.