pub struct TraceSpan {Show 19 fields
pub id: SpanId,
pub parent_id: Option<SpanId>,
pub name: String,
pub kind: SpanKind,
pub start_time: Option<String>,
pub end_time: Option<String>,
pub tokens: Option<SpanTokenUsage>,
pub cost: Option<f64>,
pub latency_ms: Option<u64>,
pub metadata: Value,
pub status: SpanStatus,
pub gen_ai_system: Option<String>,
pub gen_ai_request_model: Option<String>,
pub gen_ai_response_model: Option<String>,
pub gen_ai_finish_reason: Option<String>,
pub gen_ai_request_max_tokens: Option<u64>,
pub gen_ai_request_temperature: Option<f64>,
pub gen_ai_operation_name: Option<String>,
pub gen_ai_tool_name: Option<String>,
}Expand description
A single trace span with parent-child relationships.
Fields§
§id: SpanIdUnique span identifier
parent_id: Option<SpanId>Parent span ID (None for root spans)
name: StringHuman-readable span name
kind: SpanKindSpan category
start_time: Option<String>ISO 8601 start time
end_time: Option<String>ISO 8601 end time
tokens: Option<SpanTokenUsage>Token usage (for LLM spans)
cost: Option<f64>Estimated cost in USD
latency_ms: Option<u64>Measured latency in milliseconds
metadata: ValueArbitrary key-value metadata
status: SpanStatusSpan completion status
gen_ai_system: Option<String>gen_ai.system: The LLM provider name (e.g., “openai”, “anthropic”)
gen_ai_request_model: Option<String>gen_ai.request.model: The model requested
gen_ai_response_model: Option<String>gen_ai.response.model: The actual model used
gen_ai_finish_reason: Option<String>gen_ai.response.finish_reason: Why the model stopped generating
gen_ai_request_max_tokens: Option<u64>gen_ai.request.max_tokens: Maximum tokens requested
gen_ai_request_temperature: Option<f64>gen_ai.request.temperature: Temperature parameter
gen_ai_operation_name: Option<String>gen_ai.operation.name: The operation name (chat, completion)
gen_ai_tool_name: Option<String>gen_ai.tool.name: The tool name (for tool spans)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TraceSpan
impl<'de> Deserialize<'de> for TraceSpan
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 TraceSpan
impl RefUnwindSafe for TraceSpan
impl Send for TraceSpan
impl Sync for TraceSpan
impl Unpin for TraceSpan
impl UnsafeUnpin for TraceSpan
impl UnwindSafe for TraceSpan
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