pub struct ProviderHealthStatus {
pub provider_id: String,
pub status: HealthStatus,
pub last_check_timestamp: u64,
pub consecutive_failures: u32,
pub average_latency_ms: f64,
pub success_rate: f64,
}
Expand description
Health status for a specific provider.
Tracks the current health state, performance metrics, and failure statistics for a provider.
§Example
let status = ProviderHealthStatus {
provider_id: "openai".to_string(),
status: HealthStatus::Healthy,
last_check_timestamp: chrono::Utc::now().timestamp() as u64,
consecutive_failures: 0,
average_latency_ms: 150.0,
success_rate: 0.99,
};
Fields§
§provider_id: String
Provider identifier
status: HealthStatus
Current health status (Healthy, Degraded, Unhealthy, Unknown)
last_check_timestamp: u64
Timestamp of the last health check
consecutive_failures: u32
Number of consecutive failures
average_latency_ms: f64
Average response latency in milliseconds
success_rate: f64
Success rate as a percentage (0.0 to 1.0)
Trait Implementations§
Source§impl Clone for ProviderHealthStatus
impl Clone for ProviderHealthStatus
Source§fn clone(&self) -> ProviderHealthStatus
fn clone(&self) -> ProviderHealthStatus
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 ProviderHealthStatus
impl Debug for ProviderHealthStatus
Source§impl Default for ProviderHealthStatus
impl Default for ProviderHealthStatus
Source§impl<'de> Deserialize<'de> for ProviderHealthStatus
impl<'de> Deserialize<'de> for ProviderHealthStatus
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 ProviderHealthStatus
impl RefUnwindSafe for ProviderHealthStatus
impl Send for ProviderHealthStatus
impl Sync for ProviderHealthStatus
impl Unpin for ProviderHealthStatus
impl UnwindSafe for ProviderHealthStatus
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