A pipeline's coverage: one number for how much of it is done, shown on the home page's table, its page's Progress card and in their JSON.
- A daily or monthly pipeline's is its partitions done of those in its
range so far: from its first partition through the last one that has
ended on the schedule's clock (UTC without a schedule), the range a fill
works through (
orca.fill.range_keys). Today's day (this month) is
still going, so it's in neither number, nor is one that ended less than
the pipeline's fill_lag ago.
- A keyed pipeline's is its keys done of the keys orca knows: those
<binary> keys last printed, as orca.keys keeps them (the scheduler's
sensor and the pipeline's page read them; the home page never runs the
binary).
Done is what the calendar and a backfill count as done
(orca.scheduler.DONE_SQL): every mapped step of the pipeline succeeded
for the key in a run of its current code; with no mapped step, a run of
its current code over the key succeeded. A step skipped because one
before it failed isn't done, nor is a key done only by older code (the
Fill line, which counts any code's, can be higher). Running, queued,
failed and never-run keys are all not done.
A pipeline with nothing to count has no coverage (None, shown as "โ"):
a dated one with no first partition, or whose first hasn't ended yet, and
a keyed one whose keys haven't been read, or are none.
Cost: one query, DONE_SQL over the range's keys, which looks each
key's steps up by the steps_partition index, so it grows with the range,
not with the runs: 7 ms for 1,492 days over 30,000 runs (10 ms with no
mapped step). A keyed pipeline's adds the read of its row of orca.keys.
Nothing is cached: the UI holds no state.