Struct Attributes

pub struct Attributes<'a> { /* private fields */ }

Attributes provided to a Subscriber describing a new span when it is created.

Implementations

impl<'a> Attributes<'a>

fn new(metadata: &'static Metadata<'static>, values: &'a ValueSet<'a>) -> Self

Returns Attributes describing a new child span of the current span, with the provided metadata and values.

fn new_root(metadata: &'static Metadata<'static>, values: &'a ValueSet<'a>) -> Self

Returns Attributes describing a new span at the root of its own trace tree, with the provided metadata and values.

fn child_of(parent: Id, metadata: &'static Metadata<'static>, values: &'a ValueSet<'a>) -> Self

Returns Attributes describing a new child span of the specified parent span, with the provided metadata and values.

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

Returns a reference to the new span's metadata.

fn values(&self) -> &ValueSet<'a>

Returns a reference to a ValueSet containing any values the new span was created with.

fn is_root(&self) -> bool

Returns true if the new span should be a root.

fn is_contextual(&self) -> bool

Returns true if the new span'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 span's parent. Otherwise, if the current thread is not inside a span, then the new span will be the root of its own trace tree.

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

Returns the new span's explicitly-specified parent, if there is one.

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

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

Records all the fields in this set of Attributes with the provided Visitor.

fn contains(&self, field: &Field) -> bool

Returns true if this set of Attributes contains a value for the given Field.

fn is_empty(&self) -> bool

Returns true if this set of Attributes contains no values.

fn fields(&self) -> &FieldSet

Returns the set of all fields defined by this span's Metadata.

Note that the FieldSet returned by this method includes all the fields declared by this span, not just those with values that are recorded as part of this set of Attributes. Other fields with values not present in this Attributes' value set may record values later.

Trait Implementations

impl<'a> Debug for Attributes<'a>

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

Auto Trait Implementations

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

impl<'a> !Send for Attributes<'a>

impl<'a> !Sync for Attributes<'a>

impl<'a> !UnwindSafe for Attributes<'a>

impl<'a> Freeze for Attributes<'a>

impl<'a> Unpin for Attributes<'a>

impl<'a> UnsafeUnpin for Attributes<'a>

Blanket Implementations

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

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Attributes<'a> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Attributes<'a> where T: ?Sized,

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

impl<T> From<T> for Attributes<'a>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for Attributes<'a> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for Attributes<'a> where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for Attributes<'a> where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>