sqlWallClockMs(entries: readonly QueryLogEntry[]): number
Wall-clock milliseconds during which at least one query was in flight: the combined length of the query intervals with overlaps merged.
Summing durationMs answers "how much query work ran" but double-counts
concurrency, so it is wrong as a measure of how long the request waited on
the database. Reads fanned out with Promise.all overlap in wall-clock time,
and every statement in a queryBatch shares one round-trip window; merging
overlaps counts that shared time once. Because every query runs within the
request, the result is always ≤ the render time, so render − sqlWallClock
is a non-negative "everything that wasn't SQL" figure.
entries: readonly QueryLogEntry[]