Skip to main content

TraceMetrics

Struct TraceMetrics 

Source
pub struct TraceMetrics {
Show 22 fields pub scope: EvaluationScope, pub started_at_millis: Option<u64>, pub ended_at_millis: Option<u64>, pub elapsed_ms: Option<u64>, pub record_count: usize, pub run_count: usize, pub turn_count: usize, pub provider_call_count: u64, pub provider_input_tokens: u64, pub provider_output_tokens: u64, pub provider_total_tokens: u64, pub tool_call_count: u64, pub tool_completed_count: u64, pub tool_failed_count: u64, pub tool_timed_out_count: u64, pub tool_cancelled_count: u64, pub tool_denied_count: u64, pub tool_rewritten_count: u64, pub tool_unknown_count: u64, pub tool_recovery_required_count: u64, pub tool_total_elapsed_ms: Option<u64>, pub tools: Vec<ToolTraceMetric>,
}
Expand description

Deterministic metrics for a turn, run, session, or custom trace scope.

Fields§

§scope: EvaluationScope

Scope these metrics describe.

§started_at_millis: Option<u64>

Earliest non-zero journal timestamp observed for this scope.

§ended_at_millis: Option<u64>

Latest non-zero journal timestamp observed for this scope.

§elapsed_ms: Option<u64>

ended_at_millis - started_at_millis when both are available.

§record_count: usize

Number of journal records inspected for this scope.

§run_count: usize

Number of distinct runs represented in this scope.

§turn_count: usize

Number of distinct turns represented in this scope.

§provider_call_count: u64

Number of completed provider attempts.

§provider_input_tokens: u64

Sum of provider-reported input tokens.

§provider_output_tokens: u64

Sum of provider-reported output tokens.

§provider_total_tokens: u64

Sum of provider-reported total tokens.

§tool_call_count: u64

Number of distinct tool calls represented in this scope.

§tool_completed_count: u64

Number of tools whose latest terminal status is completed.

§tool_failed_count: u64

Number of tools whose latest terminal status is failed.

§tool_timed_out_count: u64

Number of tools whose latest terminal status is timed out.

§tool_cancelled_count: u64

Number of tools whose latest terminal status is cancelled.

§tool_denied_count: u64

Number of tools denied before execution.

§tool_rewritten_count: u64

Number of tools whose result was rewritten by a hook.

§tool_unknown_count: u64

Number of tools whose latest terminal status is unknown.

§tool_recovery_required_count: u64

Number of tools that require recovery.

§tool_total_elapsed_ms: Option<u64>

Sum of per-tool elapsed milliseconds when at least one tool has timing.

§tools: Vec<ToolTraceMetric>

Per-tool metrics, one row per distinct tool call id.

Implementations§

Source§

impl TraceMetrics

Source

pub fn from_turn_trace(trace: &TurnTrace) -> Result<Self, AgentError>

Builds deterministic metrics from a turn trace.

Source

pub fn from_run_trace(trace: &RunTrace) -> Result<Self, AgentError>

Builds deterministic metrics from a run trace.

Source

pub fn from_session_timeline(timeline: &SessionTimeline) -> Self

Builds deterministic metrics from a session timeline.

Trait Implementations§

Source§

impl Clone for TraceMetrics

Source§

fn clone(&self) -> TraceMetrics

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TraceMetrics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TraceMetrics

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for TraceMetrics

Source§

fn eq(&self, other: &TraceMetrics) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for TraceMetrics

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for TraceMetrics

Source§

impl StructuralPartialEq for TraceMetrics

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,