pub struct EventLoopMetrics {
pub cycle_count: u32,
pub tool_metrics: HashMap<String, ToolMetrics>,
pub cycle_durations: Vec<f64>,
pub traces: Vec<Trace>,
pub accumulated_usage: Usage,
pub accumulated_metrics: Metrics,
/* private fields */
}Expand description
Metrics collected during event loop execution.
Fields§
§cycle_count: u32§tool_metrics: HashMap<String, ToolMetrics>§cycle_durations: Vec<f64>§traces: Vec<Trace>§accumulated_usage: Usage§accumulated_metrics: MetricsImplementations§
Source§impl EventLoopMetrics
impl EventLoopMetrics
pub fn new() -> Self
Sourcepub fn start_cycle(&mut self) -> Trace
pub fn start_cycle(&mut self) -> Trace
Start a new event loop cycle.
Sourcepub fn add_tool_usage(
&mut self,
tool: &ToolUse,
duration: f64,
tool_trace: &mut Trace,
success: bool,
message: &Message,
)
pub fn add_tool_usage( &mut self, tool: &ToolUse, duration: f64, tool_trace: &mut Trace, success: bool, message: &Message, )
Record tool usage metrics.
Sourcepub fn update_usage(&mut self, usage: &Usage)
pub fn update_usage(&mut self, usage: &Usage)
Update accumulated token usage.
Sourcepub fn update_metrics(&mut self, metrics: &Metrics)
pub fn update_metrics(&mut self, metrics: &Metrics)
Update accumulated performance metrics.
Sourcepub fn total_duration(&self) -> f64
pub fn total_duration(&self) -> f64
Get total duration of all cycles.
Sourcepub fn average_cycle_time(&self) -> f64
pub fn average_cycle_time(&self) -> f64
Get average cycle time.
Sourcepub fn get_summary(&self) -> Value
pub fn get_summary(&self) -> Value
Generate a comprehensive summary.
pub fn total_input_tokens(&self) -> u32
pub fn total_output_tokens(&self) -> u32
pub fn total_latency_ms(&self) -> u64
Trait Implementations§
Source§impl Clone for EventLoopMetrics
impl Clone for EventLoopMetrics
Source§fn clone(&self) -> EventLoopMetrics
fn clone(&self) -> EventLoopMetrics
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EventLoopMetrics
impl Debug for EventLoopMetrics
Source§impl Default for EventLoopMetrics
impl Default for EventLoopMetrics
Source§fn default() -> EventLoopMetrics
fn default() -> EventLoopMetrics
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for EventLoopMetrics
impl<'de> Deserialize<'de> for EventLoopMetrics
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 EventLoopMetrics
impl RefUnwindSafe for EventLoopMetrics
impl Send for EventLoopMetrics
impl Sync for EventLoopMetrics
impl Unpin for EventLoopMetrics
impl UnwindSafe for EventLoopMetrics
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 moreCreates a shared type from an unshared type.