Skip to main content

Module sizing

Module sizing 

Source
Expand description

Right-sizing advice from the job history: the spread of each profile’s and each job’s sampled peaks, waits and slot use, and the memory and slots to set. Pure: the store reads the history, the daemon serves the result (api::Sizing). It never changes the config: a client applies advice through PUT /v1/config, which validates it like any other config, and under [sizing] auto the daemon applies what auto::changes picks the same way.

Modules§

auto
Auto sizing: which profiles’ memory, slots and cpus the daemon changes now, from the advice, the runs since each profile’s last change and the limits [sizing] and each profile set. Pure: the daemon reads the history and when each profile last changed, writes each change through the config check as PUT /v1/config does, and records it. Never lowers a profile a run met the cap of, never changes memory from fewer than [sizing] min_jobs jobs, never lowers within [sizing] interval of a profile’s last change or raises within raise_interval, never leaves a profile outside its bounds, and sizes each profile against the budget the changes before it in the same look leave.

Structs§

Held
One runner container’s time in a slot for a job. Times in milliseconds.
History
What the store reads for sizing.
Ran
One finished job of this daemon’s runners, as sizing reads it. Times in milliseconds.
Window
What advise sizes against besides the history.

Enums§

Measure
What a run’s sampled memory counts.

Functions§

advise
The advice for every profile of config from history, against the slice’s memory_max as config’s admission policy budgets it.