pub struct AutoscaleConfig {
pub interval: Duration,
pub target_utilization: f64,
pub drain_time: Duration,
pub slo: [Option<Duration>; 4],
pub reservation_horizon: Duration,
pub stabilization_window: Duration,
pub cooldown: Duration,
pub max_step_up_ratio: f64,
pub max_step_up_abs: u32,
pub max_step_down: u32,
pub ewma_alpha: f64,
pub cost_per_worker_second: f64,
}Expand description
Queue-pressure autoscaling parameters (see SPEC §10).
Fields§
§interval: DurationTime between evaluations.
target_utilization: f64Utilization the arrival-rate term aims for (0..1].
drain_time: DurationTime in which the current backlog should be drained.
slo: [Option<Duration>; 4]Maximum acceptable predicted queue wait per class (None = no SLO).
reservation_horizon: DurationReservations starting within this horizon count towards desired capacity.
stabilization_window: DurationScale-down uses the highest desired value seen within this window.
cooldown: DurationMinimum time between two scale-down steps.
max_step_up_ratio: f64Max relative growth per step (1.0 = +100%).
max_step_up_abs: u32Minimum absolute growth allowed per step (the step is the larger of ratio and this).
max_step_down: u32Max workers removed per scale-down step.
ewma_alpha: f64Smoothing factor for rate estimates (0..1, weight of the newest sample).
cost_per_worker_second: f64Cost of one worker-second, reported in snapshots.
Trait Implementations§
Source§impl Clone for AutoscaleConfig
impl Clone for AutoscaleConfig
Source§impl Debug for AutoscaleConfig
impl Debug for AutoscaleConfig
Source§impl Default for AutoscaleConfig
impl Default for AutoscaleConfig
Source§impl PartialEq for AutoscaleConfig
impl PartialEq for AutoscaleConfig
impl StructuralPartialEq for AutoscaleConfig
Auto Trait Implementations§
impl Freeze for AutoscaleConfig
impl RefUnwindSafe for AutoscaleConfig
impl Send for AutoscaleConfig
impl Sync for AutoscaleConfig
impl Unpin for AutoscaleConfig
impl UnsafeUnpin for AutoscaleConfig
impl UnwindSafe for AutoscaleConfig
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