From 5392d396d98a1b94854c2446a39794495a4afb0c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 17 Nov 2023 10:05:20 +0000 Subject: Track the metrics endpoint duration --- .../agent-messaging/http/server.scm | 32 ++++++++++++---------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/guix-build-coordinator/agent-messaging/http/server.scm b/guix-build-coordinator/agent-messaging/http/server.scm index 66b8f87..7bfc0b5 100644 --- a/guix-build-coordinator/agent-messaging/http/server.scm +++ b/guix-build-coordinator/agent-messaging/http/server.scm @@ -997,21 +997,25 @@ INTERVAL (a time-duration object), otherwise does nothing and returns #f." '(("error" . "access denied")) #:code 403)))) (('GET "metrics") - (with-fibers-timeout + (call-with-duration-metric + (build-coordinator-metrics-registry build-coordinator) + "metrics_duration_seconds" (lambda () - (call-with-delay-logging update-managed-metrics! - #:threshold 0.5)) - #:timeout 8 - #:on-timeout (const #f)) - - (list (build-response - #:code 200 - #:headers '((content-type . (text/plain)) - (vary . (accept)))) - (lambda (port) - (write-metrics (build-coordinator-metrics-registry - build-coordinator) - port)))) + (with-fibers-timeout + (lambda () + (call-with-delay-logging update-managed-metrics! + #:threshold 0.5)) + #:timeout 8 + #:on-timeout (const #f)) + + (list (build-response + #:code 200 + #:headers '((content-type . (text/plain)) + (vary . (accept)))) + (lambda (port) + (write-metrics (build-coordinator-metrics-registry + build-coordinator) + port)))))) (_ (render-json "not-found" -- cgit v1.2.3