pub struct LlmResilienceConfig {
pub max_retries: u32,
pub retry_backoff_ms: u64,
pub breaker_failure_threshold: u32,
pub breaker_reset_timeout_ms: u64,
pub breaker_half_open_max_calls: u32,
pub latency_slo_ms: u64,
pub error_budget_ratio: f64,
pub error_budget_window_secs: u64,
}Expand description
Resilience configuration for LLM calls.
Fields§
§max_retries: u32Maximum number of retries for retryable failures.
retry_backoff_ms: u64Backoff between retries in milliseconds.
breaker_failure_threshold: u32Consecutive failures before opening the circuit.
breaker_reset_timeout_ms: u64How long to keep the circuit open before half-open.
breaker_half_open_max_calls: u32Maximum trial calls while half-open.
latency_slo_ms: u64Latency budget in milliseconds for LLM calls.
error_budget_ratio: f64Error budget ratio threshold.
error_budget_window_secs: u64Error budget window in seconds.
Implementations§
Source§impl LlmResilienceConfig
impl LlmResilienceConfig
Sourcepub fn from_config(config: &LlmConfig) -> Self
pub fn from_config(config: &LlmConfig) -> Self
Loads resilience configuration from config file settings.
Sourcepub fn with_env_overrides(self) -> Self
pub fn with_env_overrides(self) -> Self
Applies environment variable overrides.
Trait Implementations§
Source§impl Clone for LlmResilienceConfig
impl Clone for LlmResilienceConfig
Source§fn clone(&self) -> LlmResilienceConfig
fn clone(&self) -> LlmResilienceConfig
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 LlmResilienceConfig
impl Debug for LlmResilienceConfig
Auto Trait Implementations§
impl Freeze for LlmResilienceConfig
impl RefUnwindSafe for LlmResilienceConfig
impl Send for LlmResilienceConfig
impl Sync for LlmResilienceConfig
impl Unpin for LlmResilienceConfig
impl UnwindSafe for LlmResilienceConfig
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,
§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> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].