Skip to main content

changes

Function changes 

Source
pub fn changes(
    config: &Config,
    history: &History,
    context: Context<'_>,
) -> Vec<SizingChange>
Expand description

The changes to make now, in order, one per profile at most. Empty unless [sizing] auto is on.

A change that lowers memory or cpus waits [sizing] interval after the profile’s last change; one that only raises waits raise_interval. Each moves memory toward the advice, and cpus toward what its runs reach, by at most [sizing] max_step percent, memory within the profile’s min_memory and max_memory, cpus within the slice’s CPUs. A profile whose jobs waited for a slot, or whose slots were busy, since its last change gets one more slot when every profile’s slots still fit MemoryMax: at their caps under caps admission, at their jobs’ p95 peaks under measured; at most max_slots when set, and never under what runs. Under caps a lowered memory adds the slots the advice gives. Each change is sized as if the ones before it were written: they take budget the later ones cannot.