OXYGENHUB

Runner dashboard: live charts of jobs, pickup time and runners issue #257 closed: completed andymccall opened this · 1 comment

andymccall

Asked by Andy (2026-10-18): the standard reporting most users need for OxygenFlow, on a live page that can sit on a second monitor.

  • Time to pickup (queued to started): median and p95 over time, per runner and overall.
  • Jobs: started, passed, failed, cancelled per hour; queued, waiting for approval and running now.
  • Job duration: median and p95 by job name or repository.
  • Runners: online/offline, busy slots vs capacity, last heartbeat; utilisation over time.
  • Ranges: last hour, 24 hours, 7 days; scoped to the site (admins), an owner, or a repository.
  • Live: updates without a reload (live bus, docs/live.md), dark-friendly, readable at a distance; works without JavaScript as a static snapshot.
  • Charts drawn by the hub itself (inline SVG, no external chart library or CDN, CSP-safe).
  • Data from flow_jobs/flow_runs/runners (no new collection needed for the first version); the same numbers as /metrics where they overlap.

andymccall set labels feature ·

andymccall

Shape agreed with Andy (2026-10-18):

  • Insights: one charts hub at three scopes, the site (/admin/insights), an owner, a repository, all the same page with a filter, so numbers always agree. Sections: Flow (pickup time median/p95, jobs per hour by result, duration, queue depth) and Runners (online, busy vs capacity, heartbeats).
  • No charts scattered over other pages: at most a one-line summary there with a Charts ↗ link that opens Insights pre-filtered in a new window. First one: the right end of the runners page's queue filter row, keeping its repository/runner/status filters.
  • Wall view (?wall=1) for a second monitor: big type, no chrome, live.
  • Grafana stays the power users' tool: an 'Open in Grafana' link per chart when a Grafana URL is configured.
  • Also: the queue's filter row has no styles (controls touch, heights differ): a proper filter row for every .filters form.

andymccall referenced by change 4866be1c9040 on main ·

closed by change e97500b70f9a ·

andymccall referenced by change 0843f23ec51c on main ·