pub struct ModelHealthRecord {
pub model_id: String,
pub window_started_at: DateTime<Utc>,
pub request_count: u64,
pub successful_responses: u64,
pub transport_failures: u64,
pub upstream_5xx_failures: u64,
pub timeout_failures: u64,
pub malformed_tool_calls: u64,
pub median_latency_ms: Option<u64>,
pub last_failure_at: Option<DateTime<Utc>>,
pub last_failure_class: Option<FailureClass>,
}Expand description
Rolling delivery-health window for one model (feedback 01 circuit-breaker record: captures failure evidence; automatic failover stays disabled).
Fields§
§model_id: String§window_started_at: DateTime<Utc>§request_count: u64§successful_responses: u64§transport_failures: u64§upstream_5xx_failures: u64§timeout_failures: u64§malformed_tool_calls: u64§median_latency_ms: Option<u64>§last_failure_at: Option<DateTime<Utc>>§last_failure_class: Option<FailureClass>Implementations§
Source§impl ModelHealthRecord
impl ModelHealthRecord
Sourcepub fn delivery_success_rate(&self) -> Option<f64>
pub fn delivery_success_rate(&self) -> Option<f64>
Fraction of requests that delivered successfully
(successful / request_count), None when the window is empty.
Sourcepub fn is_degraded(&self) -> bool
pub fn is_degraded(&self) -> bool
True when the window is degraded: delivery rate below 0.9 or any recorded failure in the window (feedback 01 policy - GLM-5.3 Flash delivered 22/31 = 70.9% before it was demoted to experimental).
Trait Implementations§
Source§impl Clone for ModelHealthRecord
impl Clone for ModelHealthRecord
Source§fn clone(&self) -> ModelHealthRecord
fn clone(&self) -> ModelHealthRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ModelHealthRecord
impl Debug for ModelHealthRecord
Source§impl<'de> Deserialize<'de> for ModelHealthRecord
impl<'de> Deserialize<'de> for ModelHealthRecord
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
Source§impl PartialEq for ModelHealthRecord
impl PartialEq for ModelHealthRecord
Source§impl Serialize for ModelHealthRecord
impl Serialize for ModelHealthRecord
impl StructuralPartialEq for ModelHealthRecord
Auto Trait Implementations§
impl Freeze for ModelHealthRecord
impl RefUnwindSafe for ModelHealthRecord
impl Send for ModelHealthRecord
impl Sync for ModelHealthRecord
impl Unpin for ModelHealthRecord
impl UnsafeUnpin for ModelHealthRecord
impl UnwindSafe for ModelHealthRecord
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