pub struct AdaptivePoolConfig {
pub min_workers: usize,
pub max_workers: usize,
pub scale_up_threshold: f64,
pub scale_down_threshold: f64,
pub latency_threshold_ms: f64,
pub cooldown: Duration,
pub kalman_process_noise: f64,
pub kalman_measurement_noise: f64,
}Expand description
Configuration for the adaptive pool controller.
Fields§
§min_workers: usizeMinimum number of workers to maintain at all times.
max_workers: usizeMaximum number of workers the pool may grow to.
scale_up_threshold: f64Queue depth (predicted) above which scale-up is triggered.
scale_down_threshold: f64Queue depth (predicted) below which scale-down is considered.
latency_threshold_ms: f64P99 latency (ms) above which scale-up is triggered alongside depth check.
cooldown: DurationMinimum time between consecutive scale events (prevents thrashing).
kalman_process_noise: f64Process noise for the Kalman filter (models queue volatility).
kalman_measurement_noise: f64Measurement noise for the Kalman filter (models observation noise).
Trait Implementations§
Source§impl Clone for AdaptivePoolConfig
impl Clone for AdaptivePoolConfig
Source§fn clone(&self) -> AdaptivePoolConfig
fn clone(&self) -> AdaptivePoolConfig
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 AdaptivePoolConfig
impl Debug for AdaptivePoolConfig
Source§impl Default for AdaptivePoolConfig
impl Default for AdaptivePoolConfig
Source§impl<'de> Deserialize<'de> for AdaptivePoolConfig
impl<'de> Deserialize<'de> for AdaptivePoolConfig
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 AdaptivePoolConfig
impl RefUnwindSafe for AdaptivePoolConfig
impl Send for AdaptivePoolConfig
impl Sync for AdaptivePoolConfig
impl Unpin for AdaptivePoolConfig
impl UnsafeUnpin for AdaptivePoolConfig
impl UnwindSafe for AdaptivePoolConfig
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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