Derives every graphed line from one pass over the timeline's buckets.
The buckets are queried once and every series is computed from them, so the six charts on a page
cost one query rather than six, and no two of them can disagree about what happened in a bucket.
Stored size is cumulative and everything else is per-bucket. Stored bytes only ever accumulate
until a prune runs, so drawing it per bucket would show a site's storage as a series of small
spikes rather than as the line that crosses a budget ceiling. Operation rate, ratios and cost are
rates and are drawn as such.
The cumulative line starts from what the store holds NOW and is walked backwards, because the frame
index knows the current total exactly and the history of commits only knows what each one added. A
line built forwards from zero would be correct in shape and wrong at every point on any site whose
history has ever been pruned or that installed the module after it had content.
Two of the six lines are store-wide values drawn flat, and are labelled as such. Deduplication
ratio and delta-chain depth are properties of the whole frame index, which records one number and
not a history of it: a frame written today may be referenced by a commit from last year, so there
is no bucket it belongs to. They are drawn at their real current value across the window rather
than apportioned per bucket, because an apportioned figure would be a plausible-looking number
with nothing behind it.
Stored bytes at the end of each bucket, anchored to what the store holds now.
Parameters
list<\Drupal\strata\Timeline\TimelineBucket>
$buckets
The buckets, oldest first.
Returns
list
—
One total per bucket.
dedupRatio()
dedupRatio() : float
How much repetition the content addressing removed, across the whole store.
Bytes the commits say were captured, over the distinct decoded bytes the frame index holds. A
value written ten times is captured ten times and framed once, so that is a ratio of ten.