Skip to main content

Module recent

Module recent 

Source
Expand description

A job’s recent runs, as admission and sizing read them (ADR 0070): each row of the history read once, in the order the runs finished, into a window of the job’s last successful runs, the hold a run at its cap puts on it, and the runs past what they reserved. One rule for what each row says, whoever feeds it: the engine’s predictor, simulate and sizing. Pure: no I/O, no clock; it must not keep anything the rows do not say, so a restart that reads the same rows decides the same.

Structs§

Counted
A run in a job’s window.
Hold
The latest run of a job that met its cap or was killed for memory, and how many successful runs clear of their cap came in a row after it.
InProfile
A job in one profile: a job of one name may run in several pools of its repository, whose runs say nothing of each other’s (ADR 0058).
JobRuns
One job’s runs in one profile.
Overrun
A run that peaked past what it reserved.
Recent
Every job’s recent runs, with a window of size successful runs.

Enums§

Ending
How a row ended, as the history keeps it apart.

Constants§

CLEAN_RUNS
A hold at the cap ends after this many successful runs in a row clear of their cap.
RECENT_RUNS
Admission’s window: a job’s last this many successful runs, or [sizing] min_jobs when more. Under nearest rank a p95 of fewer than 20 values is their largest; 20 is the fewest at which it can leave one outlier out.
SIZING_TIMES
Sizing’s window is this many times admission’s: a cap too small kills a job, a reservation too small only lets runs overlap, and a cold-cache run comes once in 20 to 50.

Functions§

finished
When a row ended, as the windows order it: its finish, or its queueing without one.
rows
history’s rows, finished and cancelled, in the order they finished; ties in the store’s order, finished ones first.