Struct Attributes
pub struct Attributes<'a> { /* private fields */ }
dep_tracing
and alloc
only.Expand description
Attributes provided to a Subscriber
describing a new span when it is
created.
Implementations§
§impl<'a> Attributes<'a>
impl<'a> Attributes<'a>
pub fn new(
metadata: &'static Metadata<'static>,
values: &'a ValueSet<'a>,
) -> Attributes<'a>
pub fn new( metadata: &'static Metadata<'static>, values: &'a ValueSet<'a>, ) -> Attributes<'a>
Returns Attributes
describing a new child span of the current span,
with the provided metadata and values.
pub fn new_root(
metadata: &'static Metadata<'static>,
values: &'a ValueSet<'a>,
) -> Attributes<'a>
pub fn new_root( metadata: &'static Metadata<'static>, values: &'a ValueSet<'a>, ) -> Attributes<'a>
Returns Attributes
describing a new span at the root of its own trace
tree, with the provided metadata and values.
pub fn child_of(
parent: Id,
metadata: &'static Metadata<'static>,
values: &'a ValueSet<'a>,
) -> Attributes<'a>
pub fn child_of( parent: Id, metadata: &'static Metadata<'static>, values: &'a ValueSet<'a>, ) -> Attributes<'a>
Returns Attributes
describing a new child span of the specified
parent span, with the provided metadata and values.
pub fn values(&self) -> &ValueSet<'a>
pub fn values(&self) -> &ValueSet<'a>
Returns a reference to a ValueSet
containing any values the new span
was created with.
pub fn is_contextual(&self) -> bool
pub 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.
pub fn parent(&self) -> Option<&Id> ⓘ
pub 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
.
pub fn record(&self, visitor: &mut dyn Visit)
pub fn record(&self, visitor: &mut dyn Visit)
Records all the fields in this set of Attributes
with the provided
Visitor.
pub fn contains(&self, field: &Field) -> bool
pub fn contains(&self, field: &Field) -> bool
Returns true
if this set of Attributes
contains a value for the
given Field
.
pub fn fields(&self) -> &FieldSet
pub 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§
Auto Trait Implementations§
impl<'a> Freeze for Attributes<'a>
impl<'a> !RefUnwindSafe for Attributes<'a>
impl<'a> !Send for Attributes<'a>
impl<'a> !Sync for Attributes<'a>
impl<'a> Unpin for Attributes<'a>
impl<'a> !UnwindSafe for Attributes<'a>
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.