actions / actions/actions-runner-controller
Grafana Dashboard sample
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
Checks
- I've already read https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors and I'm sure my issue is not covered in the troubleshooting guide.
- I am using charts that are officially provided
Controller Version
0.13.0
Deployment Method
Helm
Checks
- This isn't a question or user support case (For Q&A and community support, go to Discussions).
- I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes
To Reproduce
0) Have Prometheus and Grafana deployed in the cluster
1) Enable `metrics:` in ARC controller.
2) Enable `listenerMetrics:` in ARC listeners and add `actions_github_com_scale_set_namespace` label to `gha_job_startup_duration_seconds` metric.
3) Setup Podmonitors so Prometheus can scrape the ARC metrics.
Describe the bug
The Panels relaying on actions_github_com_scale_set_namespace (Startup Duration, Job Execution & Running Jobs) are not working
Cannot read properties of undefined (reading 'config')
The issue seems to be that actions_github_com_scale_set_namespace is empty.
Replacing actions_github_com_scale_set_namespace label with namespace seems to solve the issue
Describe the expected behavior
Assuming I’m not doing anything wrong on my end, and understanding that the Grafana dashboard itself isn’t officially supported, it would be nice if the current sample worked out of the box.
Additional Context
Sample of gha_job_startup_duration_seconds_bucket metric I'm seeing:
gha_job_startup_duration_seconds_bucket{actions_github_com_scale_set_name="",actions_github_com_scale_set_namespace="",enterprise="",event_name="pull_request",job_name="Build, Test and Deploy / Android",job_workflow_name="build-test-deploy",job_workflow_ref="MY_COMPANY/MY_REPO/.github/workflows/build-test-deploy.yaml@refs/pull/1165/merge",job_workflow_target="pull/1165",organization="MY_COMPANY",repository="MY_REPO",le="0.1"} 0
The metrics I got setup in the lister:
listenerMetrics:
counters:
gha_started_jobs_total:
labels:
["repository", "organization", "enterprise", "job_name", "event_name", "job_workflow_ref", "job_workflow_name", "job_workflow_target"]
gha_completed_jobs_total:
labels:
[
"repository",
"organization",
"enterprise",
"job_name",
"event_name",
"job_result",
"job_workflow_ref",
"job_workflow_name",
"job_workflow_target",
]
gauges:
gha_assigned_jobs:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_running_jobs:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_registered_runners:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_busy_runners:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_min_runners:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_max_runners:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_desired_runners:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
gha_idle_runners:
labels: ["name", "namespace", "repository", "organization", "enterprise", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
histograms:
gha_job_startup_duration_seconds:
labels:
["repository", "organization", "enterprise", "job_name", "event_name","job_workflow_ref", "job_workflow_name", "job_workflow_target", "actions_github_com_scale_set_name", "actions_github_com_scale_set_namespace"]
buckets:
[
0.01,
0.05,
0.1,
0.5,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0,
9.0,
10.0,
12.0,
15.0,
18.0,
20.0,
25.0,
30.0,
40.0,
50.0,
60.0,
70.0,
80.0,
90.0,
100.0,
110.0,
120.0,
150.0,
180.0,
210.0,
240.0,
300.0,
360.0,
420.0,
480.0,
540.0,
600.0,
900.0,
1200.0,
1800.0,
2400.0,
3000.0,
3600.0,
]
gha_job_execution_duration_seconds:
labels:
[
"repository",
"organization",
"enterprise",
"job_name",
"event_name",
"job_result",
"job_workflow_ref",
"job_workflow_name",
"job_workflow_target"
]
buckets:
[
0.01,
0.05,
0.1,
0.5,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0,
9.0,
10.0,
12.0,
15.0,
18.0,
20.0,
25.0,
30.0,
40.0,
50.0,
60.0,
70.0,
80.0,
90.0,
100.0,
110.0,
120.0,
150.0,
180.0,
210.0,
240.0,
300.0,
360.0,
420.0,
480.0,
540.0,
600.0,
900.0,
1200.0,
1800.0,
2400.0,
3000.0,
3600.0,
]
Controller Logs
N/A
Runner Pod Logs
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the sample Grafana dashboard and comparing the panels named Startup Duration, Job Execution, and Running Jobs with the Prometheus metric labels shown in the issue. Check how the dashboard uses actions_github_com_scale_set_namespace and how listenerMetrics exposes it. Done means the sample dashboard panels render correctly with the documented metrics configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grafana, helm, kubernetes, prometheus
- Domain
- observability-sre
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100