Skip to main content

Module auto

Module auto 

Source
Expand description

Auto sizing: which profiles’ memory and slots the daemon changes now, from the advice and within 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 sizes a profile from fewer than [sizing] min_jobs jobs, never leaves a profile outside its bounds, and sizes each profile against the budget the changes before it in the same look leave.

Structs§

Context
What auto sizing reads besides the config and the history.

Functions§

changes
The changes to make now, in order: one per profile whose advice is to change it, that no change in the last [sizing] interval touched. Empty unless [sizing] auto is on. Each moves memory toward the advice by at most [sizing] max_step percent, within the profile’s min_memory and max_memory. Under caps admission slots follow the memory as the advice has them, at most max_slots, and never under what runs; under measured, a profile whose jobs wait gets one more slot, up to max_slots, when every profile’s slots fit the slice at their jobs’ p95 peaks. Each change is sized as if the ones before it were written: they take budget the later ones cannot.