aboutsummaryrefslogtreecommitdiff
path: root/nar-herder/server.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-14 22:18:04 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-14 22:18:04 +0100
commit9cdaa19599f4bfa58b8a4af7408c45be3ef2863f (patch)
tree9eb020f65d847ae7d813dcd61bf0577f789023db /nar-herder/server.scm
parent18c79b7608e6ad4d605de7507d607aec791c0eea (diff)
downloadnar-herder-9cdaa19599f4bfa58b8a4af7408c45be3ef2863f.tar
nar-herder-9cdaa19599f4bfa58b8a4af7408c45be3ef2863f.tar.gz
Add metrics for Guile internal times
This allows detecting when the process crashes or restarts.
Diffstat (limited to 'nar-herder/server.scm')
-rw-r--r--nar-herder/server.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/nar-herder/server.scm b/nar-herder/server.scm
index 578f1c9..ec1b4ae 100644
--- a/nar-herder/server.scm
+++ b/nar-herder/server.scm
@@ -197,6 +197,17 @@
(define gc-metrics-updater
(get-gc-metrics-updater metrics-registry))
+ (define guile-time-metrics-updater
+ (let ((internal-real-time
+ (make-gauge-metric metrics-registry "guile_internal_real_time"))
+ (internal-run-time
+ (make-gauge-metric metrics-registry "guile_internal_run_time")))
+ (lambda ()
+ (metric-set internal-real-time
+ (get-internal-real-time))
+ (metric-set internal-run-time
+ (get-internal-run-time)))))
+
(define requests-total-metric
(make-counter-metric metrics-registry
"server_requests_total"))
@@ -446,6 +457,7 @@
#f))
(('GET "metrics")
(gc-metrics-updater)
+ (guile-time-metrics-updater)
(increment-request-metric "metrics" "200")
(values (build-response