A small observability project for GitHub Actions: a Grafana dashboard and helper tooling that measures "cron drift", the difference between when a scheduled workflow is supposed to start and when it actually starts on GitHub-hosted runners.
If you use GitHub Actions, you may have noticed scheduled workflows sometimes start late. GitHub warns that the schedule event can be delayed during periods of high load. This project answers the question: how late, how often, and when?
Note
The Grafana dashboard may be slow to load, please be patient. Grafana Cloud scales down dashboards based on usage.
To stop guessing when scheduled jobs will actually run on GitHub-hosted runners. To help you plan CI/CD and maintenance windows with real data instead of assumptions. To surface daily/hourly patterns and long-tail delays that matter for time-sensitive jobs.
- βοΈ Cron drift over time: a time-series of per-run delay (seconds) showing trends over the previous days.
- βοΈ Quick stats (min, max, mean, median) over a configurable window (e.g., last month).
- βοΈ Hourly / daily patterns to reveal times when delays spike.
- βοΈ Annotations for recent-run details, so you can inspect individual scheduled runs and their delays.
Found a bug, missing feature, or want to improve the dashboard? Open an issue or submit a PR.
