pub struct ProviderSnapshot {
pub name: String,
pub cost_per_1k_input_tokens: f64,
pub cost_per_1k_output_tokens: f64,
pub priority: u32,
pub p50_latency_ms: Option<f64>,
pub p95_latency_ms: Option<f64>,
pub total_requests: u64,
pub error_rate: f64,
pub input_tokens: u64,
pub output_tokens: u64,
}Expand description
Point-in-time snapshot of a single provider’s state.
Fields§
§name: StringProvider name.
cost_per_1k_input_tokens: f64Input token cost per 1K tokens (USD).
cost_per_1k_output_tokens: f64Output token cost per 1K tokens (USD).
priority: u32Priority for tie-breaking (lower = preferred).
p50_latency_ms: Option<f64>P50 (median) latency in milliseconds, or None if no samples yet.
p95_latency_ms: Option<f64>P95 latency in milliseconds, or None if no samples yet.
total_requests: u64Total requests routed to this provider.
error_rate: f64Error rate (0.0 – 1.0).
input_tokens: u64Total input tokens sent.
output_tokens: u64Total output tokens received.
Trait Implementations§
Source§impl Clone for ProviderSnapshot
impl Clone for ProviderSnapshot
Source§fn clone(&self) -> ProviderSnapshot
fn clone(&self) -> ProviderSnapshot
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 ProviderSnapshot
impl RefUnwindSafe for ProviderSnapshot
impl Send for ProviderSnapshot
impl Sync for ProviderSnapshot
impl Unpin for ProviderSnapshot
impl UnsafeUnpin for ProviderSnapshot
impl UnwindSafe for ProviderSnapshot
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