Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ images to GHCR with SLSA provenance attestation on push to `main`/tags.
- runners online, offline and busy, with per-runner state timelines;
- both exporter polls' health, so a stale cache is visible;
- CI health per repo and workflow, open PRs, Dependabot alerts by severity, and the API rate limit;
- CI history: average and p95 run time per job, queue time per runner pool and per runner, and runs per day by conclusion.
- CI history: average and p95 run time per job, queue time per runner pool and per runner, and workflow runs by conclusion.

Import it in Grafana (Dashboards → New → Import) and pick your Prometheus data source.

Expand Down
13 changes: 7 additions & 6 deletions dashboards/github-actions-runner-exporter.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"prometheus"
],
"schemaVersion": 39,
"version": 4,
"version": 5,
"editable": true,
"time": {
"from": "now-24h",
Expand Down Expand Up @@ -1311,8 +1311,8 @@
},
{
"id": 24,
"title": "Workflow runs per day by conclusion",
"description": "Completed workflow runs per day (each re-run attempt counts once).",
"title": "Workflow runs by conclusion",
"description": "Completed workflow runs per bar (each re-run attempt counts once). Bar width follows the time range, about 30 bars: hourly on 24h, ~6h on 7d, daily on 30d.",
"type": "timeseries",
"gridPos": {
"x": 0,
Expand Down Expand Up @@ -1473,14 +1473,15 @@
},
"targets": [
{
"expr": "sum by (conclusion) (increase(github_workflow_runs_total{repo=~\"$repo\"}[1d]))",
"expr": "sum by (conclusion) (increase(github_workflow_runs_total{repo=~\"$repo\"}[$__interval]))",
"legendFormat": "{{conclusion}}",
"refId": "A",
"interval": "1d",
"range": true,
"instant": false
}
]
],
"interval": "1h",
"maxDataPoints": 30
}
]
}
Loading