pub struct InferenceMetrics {
pub total_calls: u64,
pub ml_calls: u64,
pub heuristic_calls: u64,
pub cache_hits: u64,
pub heuristic_short_circuits: u64,
pub total_inference_time_ms: u64,
pub ml_errors: u64,
pub fallback_count: u64,
}Expand description
Inference performance metrics
§Specification
These metrics should be collected and reported for monitoring:
- Latency (p50, p95, p99)
- Throughput
- Cache hit rate
- Heuristic filter rate
Fields§
§total_calls: u64Total inference calls
ml_calls: u64ML inference calls (not cached)
heuristic_calls: u64Heuristic pre-filter calls
cache_hits: u64Cache hits
heuristic_short_circuits: u64Heuristic short-circuits (didn’t need ML)
total_inference_time_ms: u64Total inference time (milliseconds)
ml_errors: u64ML inference errors
fallback_count: u64Fallback to heuristic count
Implementations§
Source§impl InferenceMetrics
impl InferenceMetrics
Sourcepub fn cache_hit_rate(&self) -> f32
pub fn cache_hit_rate(&self) -> f32
Calculate cache hit rate (0.0 to 1.0)
Sourcepub fn heuristic_filter_rate(&self) -> f32
pub fn heuristic_filter_rate(&self) -> f32
Calculate heuristic filter rate (% of inputs filtered by heuristic)
Sourcepub fn avg_inference_time_ms(&self) -> f32
pub fn avg_inference_time_ms(&self) -> f32
Calculate average inference time (milliseconds)
Sourcepub fn ml_error_rate(&self) -> f32
pub fn ml_error_rate(&self) -> f32
Calculate ML error rate
Trait Implementations§
Source§impl Clone for InferenceMetrics
impl Clone for InferenceMetrics
Source§fn clone(&self) -> InferenceMetrics
fn clone(&self) -> InferenceMetrics
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 InferenceMetrics
impl Debug for InferenceMetrics
Source§impl Default for InferenceMetrics
impl Default for InferenceMetrics
Source§fn default() -> InferenceMetrics
fn default() -> InferenceMetrics
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for InferenceMetrics
impl<'de> Deserialize<'de> for InferenceMetrics
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 InferenceMetrics
impl RefUnwindSafe for InferenceMetrics
impl Send for InferenceMetrics
impl Sync for InferenceMetrics
impl Unpin for InferenceMetrics
impl UnwindSafe for InferenceMetrics
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> 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 more