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.