Skip to content

fleet-report: count jobs running inside runs GitHub still lists as queued - #34

Merged
squid-protocol merged 1 commit into
mainfrom
fix/occupancy-queued-runs
Oct 31, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
fix/occupancy-queued-runs

Conversation

@squid-protocol

@squid-protocol squid-protocol commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Problem

occupancy_reading counts jobs only in runs with status in_progress. GitHub keeps a run queued while some of its jobs are running and others still wait for a runner, for minutes at a time. Those running jobs were never counted, so "Runners in use while work waits" sat near 14 of 20 and the measured CI hours read low.

Evidence (2026-10-31)

  • Rebuilt from exact job times, the account held 19.7 of 20 while work waited, and never went above 20.
  • 8 live rounds: 14.75 jobs seen, 4.5 missed inside queued runs, 19.25 in total.

Change

  • The sampler lists queued runs and reads their jobs too. Their running jobs count in running.
  • New running_in_queued_runs field, per repo and in total, so readings from before and after can be told apart.
  • queued now also includes waiting jobs from queued runs, so it rises from this reading on.
  • READMEs say readings before 2026-10-31 read low.

Not fixed here

  • History: older readings can't be corrected, because the missed jobs were never recorded. Nothing relabels those bars on the charts yet.
  • Private repos: the sampler read 20 of 23 repos on 2026-10-31, so private CI appears to be left out.

Checks

pytest tests: 162 passed, 5 skipped. The same read in the churn PR gave old 15.4, new 19.5, uncapped 20.25 on live GitHub.

Rollout

No install step: the sampler on nyx fetches fleet_report.py from main on every run, so this applies at the first reading after merge.

Cost

One more API call per queued run per reading, about 15 to 60 calls every 15 minutes when busy.

Companion: squid-protocol/promoter-bot fix/occupancy-queued-runs.

🤖 Generated with Claude Code

…eued

GitHub keeps a run queued while some of its jobs run and others wait for a
runner, for minutes. Reading in-progress runs alone saw 14.75 jobs on average
while 19.25 ran (8 live rounds, 2026-10-31), so the runners-in-use line and the
measured CI hours read low. Read queued runs' jobs too and record the share in
running_in_queued_runs so older readings can be told apart.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@squid-protocol
squid-protocol marked this pull request as ready for review October 31, 2026 12:23
@squid-protocol
squid-protocol merged commit d0b3d30 into main Oct 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant