pub struct TopSpan {Show 19 fields
pub trace_id: String,
pub span_id: String,
pub start_time: i64,
pub duration: i64,
pub model: Option<String>,
pub system: Option<String>,
pub session_id: Option<String>,
pub prompt_id: Option<String>,
pub input_tokens: u64,
pub output_tokens: u64,
pub cache_creation_tokens: u64,
pub cache_read_tokens: u64,
pub total_tokens: u64,
pub finish_reason: Option<String>,
pub conversation_id: Option<String>,
pub cost: Option<f64>,
pub cost_source: Option<String>,
pub cost_reason: Option<String>,
pub derived_output_tokens_per_sec: Option<f64>,
}Expand description
A single top-N expensive LLM span
Fields§
§trace_id: String§span_id: String§start_time: i64Span start time (nanoseconds since Unix epoch)
duration: i64Span duration in nanoseconds
model: Option<String>§system: Option<String>§session_id: Option<String>§prompt_id: Option<String>§input_tokens: u64§output_tokens: u64§cache_creation_tokens: u64§cache_read_tokens: u64§total_tokens: u64§finish_reason: Option<String>First finish/stop reason for this span (e.g. “max_tokens”, “end_turn”).
conversation_id: Option<String>gen_ai.conversation.id attribute if present.
cost: Option<f64>Estimated cost in USD, computed server-side from the pricing database.
None when no pricing data matched this row’s (model, system).
cost_source: Option<String>Origin of the cost figure: “litellm”, “fallback”, or “none”.
cost_reason: Option<String>Human-readable tooltip explaining why cost is None (e.g. “no pricing data for claude-foo on bedrock”).
derived_output_tokens_per_sec: Option<f64>Derived output token throughput (output_tokens / span_duration_sec). Span duration includes network + queue time — not pure generation time.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TopSpan
impl<'de> Deserialize<'de> for TopSpan
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 TopSpan
impl RefUnwindSafe for TopSpan
impl Send for TopSpan
impl Sync for TopSpan
impl Unpin for TopSpan
impl UnsafeUnpin for TopSpan
impl UnwindSafe for TopSpan
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