pub struct SpanData {
pub name: String,
pub attributes: HashMap<String, Value>,
pub trace_id: String,
pub span_id: String,
pub parent_span_id: Option<String>,
pub start_time_unix_nano: Option<u64>,
pub end_time_unix_nano: Option<u64>,
pub kind: Option<SpanKind>,
pub events: Option<Vec<String>>,
pub resource_attributes: HashMap<String, Value>,
}Expand description
Represents a single OTEL span from the collector’s file exporter
Fields§
§name: StringSpan name (e.g., “clnrm.run”, “clnrm.test”)
attributes: HashMap<String, Value>Span attributes as key-value pairs
trace_id: StringTrace ID this span belongs to
span_id: StringSpan ID
parent_span_id: Option<String>Parent span ID (if any)
start_time_unix_nano: Option<u64>Span start time (Unix timestamp in nanoseconds)
end_time_unix_nano: Option<u64>Span end time (Unix timestamp in nanoseconds)
kind: Option<SpanKind>Span kind (internal, server, client, producer, consumer)
events: Option<Vec<String>>Span events (array of event names)
resource_attributes: HashMap<String, Value>Resource attributes (shared across all spans in a resource)
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SpanData
impl<'de> Deserialize<'de> for SpanData
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 SpanData
impl RefUnwindSafe for SpanData
impl Send for SpanData
impl Sync for SpanData
impl Unpin for SpanData
impl UnwindSafe for SpanData
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request