actions / actions/actions-runner-controller
Missing and invalid metrics
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
Describe the bug
I'm running the latest release controller (v0.12.7) and started looking at metrics and noticed some metrics are missing and some has in correct values.
- I don't see any metrics related to
horizontalrunnerautoscaler,runnerdeploymentorrunnersetwhile I have more than 10horizontalrunnerautoscaler github_rate_limitandgithub_rate_limit_remainingmetrics are always reporting as0
Additional context
Add any other context about the problem here.
Checks
- My actions-runner-controller version (v0.19.0) does support the feature
To Reproduce
Steps to reproduce the behavior:
- From one of the pods run
curl <controller-cluster-ip>:8443/metrics
Expected behavior
- See metrics related to horizontal autoscalers
- correct metric values for
github_rate_limitandgithub_rate_limit_remaining
Screenshots
Metrics
# HELP controller_runtime_webhook_latency_seconds Histogram of the latency of processing admission requests
# TYPE controller_runtime_webhook_latency_seconds histogram
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.005"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.01"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.025"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.05"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.1"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.25"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="0.5"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="1"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="2.5"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="5"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="10"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner",le="+Inf"} 23
controller_runtime_webhook_latency_seconds_sum{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner"} 0.018223804
controller_runtime_webhook_latency_seconds_count{webhook="/mutate-actions-summerwind-dev-v1alpha1-runner"} 23
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.005"} 14
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.01"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.025"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.05"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.1"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.25"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.5"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="1"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="2.5"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="5"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="10"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="+Inf"} 15
controller_runtime_webhook_latency_seconds_sum{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment"} 0.017580303999999998
controller_runtime_webhook_latency_seconds_count{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment"} 15
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.005"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.01"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.025"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.05"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.1"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.25"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.5"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="1"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="2.5"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="5"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="10"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="+Inf"} 13
controller_runtime_webhook_latency_seconds_sum{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset"} 0.008588675999999998
controller_runtime_webhook_latency_seconds_count{webhook="/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset"} 13
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.005"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.01"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.025"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.05"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.1"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.25"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="0.5"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="1"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="2.5"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="5"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="10"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runner",le="+Inf"} 10
controller_runtime_webhook_latency_seconds_sum{webhook="/validate-actions-summerwind-dev-v1alpha1-runner"} 0.0032573130000000004
controller_runtime_webhook_latency_seconds_count{webhook="/validate-actions-summerwind-dev-v1alpha1-runner"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.005"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.01"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.025"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.05"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.1"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.25"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="0.5"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="1"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="2.5"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="5"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="10"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment",le="+Inf"} 20
controller_runtime_webhook_latency_seconds_sum{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment"} 0.009816208
controller_runtime_webhook_latency_seconds_count{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerdeployment"} 20
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.005"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.01"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.025"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.05"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.1"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.25"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="0.5"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="1"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="2.5"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="5"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="10"} 10
controller_runtime_webhook_latency_seconds_bucket{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset",le="+Inf"} 10
controller_runtime_webhook_latency_seconds_sum{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset"} 0.0036357959999999993
controller_runtime_webhook_latency_seconds_count{webhook="/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset"} 10
# HELP github_rate_limit The maximum number of requests you're permitted to make per hour
# TYPE github_rate_limit gauge
github_rate_limit 0
# HELP github_rate_limit_remaining The number of requests remaining in the current rate limit window
# TYPE github_rate_limit_remaining gauge
github_rate_limit_remaining 0
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 3.723e-05
go_gc_duration_seconds{quantile="0.25"} 6.6673e-05
go_gc_duration_seconds{quantile="0.5"} 7.6308e-05
go_gc_duration_seconds{quantile="0.75"} 8.467e-05
go_gc_duration_seconds{quantile="1"} 0.000205162
go_gc_duration_seconds_sum 0.004632047
go_gc_duration_seconds_count 57
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 32
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.15.13"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 5.480144e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 6.3118008e+07
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.46883e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 664383
# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
# TYPE go_memstats_gc_cpu_fraction gauge
go_memstats_gc_cpu_fraction 2.7296767181123677e-06
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 5.39208e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 5.480144e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 5.7778176e+07
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 8.118272e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 26391
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 5.681152e+07
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 6.5896448e+07
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 1.6258641504783568e+09
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 690774
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 13888
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 16384
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 182648
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 196608
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 1.077688e+07
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 1.659794e+06
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 1.212416e+06
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 1.212416e+06
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 7.584256e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 15
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 2.1
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 65536
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 17
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 3.2759808e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.62585781458e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 7.54204672e+08
# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
# TYPE process_virtual_memory_max_bytes gauge
process_virtual_memory_max_bytes -1
# HELP rest_client_request_latency_seconds Request latency in seconds. Broken down by verb and URL.
# TYPE rest_client_request_latency_seconds histogram
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.001"} 17
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.002"} 32
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.004"} 1938
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.008"} 2038
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.016"} 2046
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.032"} 2047
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.064"} 2047
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.128"} 2047
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.256"} 2047
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="0.512"} 2047
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET",le="+Inf"} 2047
rest_client_request_latency_seconds_sum{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET"} 6.41873347699999
rest_client_request_latency_seconds_count{url="https://172.20.0.1:443/%7Bprefix%7D",verb="GET"} 2047
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.001"} 0
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.002"} 0
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.004"} 0
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.008"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.016"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.032"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.064"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.128"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.256"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="0.512"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/api?timeout=32s",verb="GET",le="+Inf"} 1
rest_client_request_latency_seconds_sum{url="https://172.20.0.1:443/api?timeout=32s",verb="GET"} 0.005955407
rest_client_request_latency_seconds_count{url="https://172.20.0.1:443/api?timeout=32s",verb="GET"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.001"} 0
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.002"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.004"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.008"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.016"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.032"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.064"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.128"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.256"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="0.512"} 1
rest_client_request_latency_seconds_bucket{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET",le="+Inf"} 1
rest_client_request_latency_seconds_sum{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET"} 0.001631928
rest_client_request_latency_seconds_count{url="https://172.20.0.1:443/apis?timeout=32s",verb="GET"} 1
# HELP rest_client_requests_total Number of HTTP requests, partitioned by status code, method, and host.
# TYPE rest_client_requests_total counter
rest_client_requests_total{code="200",host="172.20.0.1:443",method="GET"} 2064
Environment (please complete the following information):
- Controller Version [0.19.0]
- Deployment Method [helm]
- Helm Chart Version [0.12.7]
in values.yaml
metrics:
proxy:
enabled: false
Additional context
Using Github App for authentication using the link provided in the readme which sets the required permissions automatically.
I wonder if #312 was only tested for PAT and not github app. Also I'm wondering if we should use https://api.github.com/rate_limit end point to collect that information. see the docs here
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 with the controller's /metrics endpoint using the curl reproduction described in the issue, and inspect how the reported metrics are exposed. Done means metrics for horizontalrunnerautoscaler, runnerdeployment, and runnerset are visible and github_rate_limit and github_rate_limit_remaining report correct values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, go, kubernetes, prometheus
- Domain
- backend, observability-sre
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100