aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2025-02-19 23:21:06 +0000
committerChristopher Baines <mail@cbaines.net>2025-02-19 23:21:06 +0000
commite7a13603d7c90c6a5b9ce25bf34ee297b297a0df (patch)
tree24c1702a37ffc84f71cfdb7e98359138281aa816
parenteb2812b737d6976a7bef3a390d47cd46c29ea845 (diff)
downloadbuild-coordinator-e7a13603d7c90c6a5b9ce25bf34ee297b297a0df.tar
build-coordinator-e7a13603d7c90c6a5b9ce25bf34ee297b297a0df.tar.gz
Instrument hook threads being used
-rw-r--r--guix-build-coordinator/coordinator.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm
index 8087338..b5eba4f 100644
--- a/guix-build-coordinator/coordinator.scm
+++ b/guix-build-coordinator/coordinator.scm
@@ -1459,6 +1459,18 @@
"hook_failure_total"
#:labels '(event)))
+ (define process-events-thread-pool-thread-total-metric
+ (make-gauge-metric
+ (build-coordinator-metrics-registry build-coordinator)
+ "hook_thread_pool_thread_total"
+ #:labels '(event)))
+
+ (define process-events-thread-pool-used-thread-total-metric
+ (make-gauge-metric
+ (build-coordinator-metrics-registry build-coordinator)
+ "hook_thread_pool_used_thread_total"
+ #:labels '(event)))
+
(define (process-event id event arguments handler)
(log-msg (build-coordinator-logger build-coordinator)
'DEBUG
@@ -1587,9 +1599,16 @@
(coordination-channel
(make-channel)))
+ (metric-set process-events-thread-pool-thread-total-metric
+ thread-count
+ #:label-values `((event . ,event-name)))
+
(spawn-fiber
(lambda ()
(let loop ((running-ids '()))
+ (metric-set process-events-thread-pool-used-thread-total-metric
+ (length running-ids)
+ #:label-values `((event . ,event-name)))
(match (get-message coordination-channel)
(('process id event arguments)
(if (member id running-ids)