pub struct Span {
pub id: SpanId,
pub name: String,
pub start_ns: u64,
pub end_ns: Option<u64>,
pub parent: Option<SpanId>,
pub category: Option<String>,
pub metadata: HashMap<String, String>,
}Expand description
A performance measurement span
Fields§
§id: SpanIdUnique identifier
name: StringSpan name
start_ns: u64Start timestamp (nanoseconds from trace start)
end_ns: Option<u64>End timestamp (nanoseconds from trace start)
parent: Option<SpanId>Parent span ID
category: Option<String>Span category
metadata: HashMap<String, String>Additional metadata
Implementations§
Source§impl Span
impl Span
Sourcepub fn with_parent(self, parent: SpanId) -> Self
pub fn with_parent(self, parent: SpanId) -> Self
Create span with parent
Sourcepub fn with_category(self, category: impl Into<String>) -> Self
pub fn with_category(self, category: impl Into<String>) -> Self
Set category
Sourcepub fn duration_ns(&self) -> Option<u64>
pub fn duration_ns(&self) -> Option<u64>
Get duration in nanoseconds
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Span
impl<'de> Deserialize<'de> for Span
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Span
impl RefUnwindSafe for Span
impl Send for Span
impl Sync for Span
impl Unpin for Span
impl UnsafeUnpin for Span
impl UnwindSafe for Span
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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