runners.darklab.sh

darklab.sh / Counting definitions

How we count.

The dashboard describes allocated runner capacity using saved AWS lifecycle evidence. It doesn’t measure work completed, CPU utilization, or your bill.

The period matters

Today starts at midnight UTC. Rolling periods end at the report’s as-of time. Custom ranges include their start and exclude their end; the as-of time caps allocation. The exact UTC range appears above each report. Historical data imported when collection began can include launches from before the app was running.

Instances and allocated time

Launched and completed counts are distinct instances whose start or end falls within the selected period. Repeated events and polling don’t create extra instances. An instance spanning midnight appears in more than one daily row, but only once in the whole-period record count.

Instance-hours are the sum of each included instance’s time overlapping the period. Five minutes on one instance is 0.0833 instance-hours. Multiply by its vCPU count to get vCPU-hours: five minutes on an 8-vCPU instance is 0.6667 vCPU-hours. Overlapping instances each contribute their own time.

Current activity is separate

Active now is an estimate for the selected fleets and regions at the displayed current timestamp, independent of the reporting period. It requires a recent direct EC2 running or pending observation and a successful fleet poll within five minutes. Stale or conflicting evidence makes activity unknown. Active at period end describes the selected historical boundary and is a different figure.

Observed starts, estimated ends

Launch time from EC2 takes precedence. If it’s unavailable, the start of a successful ASG launch activity supplies an estimate. The start of a successful termination activity estimates the end. Otherwise, the first observation of EC2’s terminated state supplies an upper bound, not an exact termination time. Fresh active instances accrue estimated allocation only through the as-of time.

Failed and in-progress scaling activities do not count as completed launches or terminations. Missing instances aren’t automatically treated as terminated. Stopped or reassigned instances and contradictory timestamps remain unresolved.

Unknown is different from zero

If any included interval is unresolved, the full instance-hours total is unknown. Known intervals still contribute a clearly labeled subtotal. Missing vCPU metadata can leave vCPU-hours unknown even when instance-hours are known. Charts leave gaps for unknown totals. Zero means no recorded contribution within the selection; it does not prove there were no unrecorded instances.

Estimated records and incomplete records are separate. A complete record can still have an estimated termination time. Daily incomplete-record counts may repeat an instance across dates. Unknown tag matches don’t contribute to known allocation totals.

Fresh collection, incomplete history

Fresh means a successful regional collection occurred within five minutes. Collection errors are shown separately, even if the last success is still recent. Historical coverage remains incomplete because AWS history is limited and metadata may disappear before collection. Empty fleets and no retained activity are valid results, not proof of complete historical coverage.

Reports use the evidence saved now. Later arrivals can correct older totals in either direction. An as-of timestamp limits allocation time; it does not rewind the database. Pagination and exports can reflect later evidence arriving between requests.

Public data

Fleet names, regions, instance types, purchase options, lifecycle timing, and capacity totals are public. Instances use stable anonymous references; real EC2 IDs and raw metadata aren’t published. There are no accounts or dashboard controls that change the fleets.

Exports and limits

CSV exports use the selected filters and fixed report timestamps. Blank numeric totals mean unknown; known subtotals and missing-record counts remain available. Public ranges are limited to 31 days and queries to 20,000 retained instances in the selected fleets and regions, with at most 5,000 groups per report. A limit or unavailable database produces an explanation instead of a partial total.