pub struct ProviderMetrics {
pub last_success_at: Option<u64>,
pub last_failure_at: Option<u64>,
pub consecutive_failures: u64,
pub success_rate_1h: f64,
pub p50_latency_ms: u64,
pub p95_latency_ms: u64,
}Expand description
Health metrics for a single provider at a point in time.
Obtain via ProviderHealthSnapshot::providers or
ProviderHealthSnapshot::to_json.
Fields§
§last_success_at: Option<u64>UNIX timestamp (seconds) of the last successful call, or None.
last_failure_at: Option<u64>UNIX timestamp (seconds) of the last failed call, or None.
consecutive_failures: u64Number of consecutive failures since the last success.
success_rate_1h: f64Fraction of calls in the last hour that succeeded (0.0–1.0).
p50_latency_ms: u64Median call latency in milliseconds over all recorded calls.
p95_latency_ms: u6495th-percentile call latency in milliseconds over all recorded calls.
Trait Implementations§
Source§impl Clone for ProviderMetrics
impl Clone for ProviderMetrics
Source§fn clone(&self) -> ProviderMetrics
fn clone(&self) -> ProviderMetrics
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 moreAuto Trait Implementations§
impl Freeze for ProviderMetrics
impl RefUnwindSafe for ProviderMetrics
impl Send for ProviderMetrics
impl Sync for ProviderMetrics
impl Unpin for ProviderMetrics
impl UnsafeUnpin for ProviderMetrics
impl UnwindSafe for ProviderMetrics
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request