From 99080d5fd5341cd229515a79170790f89c958c67 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 26 Apr 2020 07:37:12 +0100 Subject: Expose metrics --- guix-build-coordinator/agent-messaging/http.scm | 14 ++++++++++++++ guix-build-coordinator/metrics.scm | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm index 8fba5c2..a561b18 100644 --- a/guix-build-coordinator/agent-messaging/http.scm +++ b/guix-build-coordinator/agent-messaging/http.scm @@ -40,6 +40,7 @@ #:use-module (guix build utils) #:use-module (guix-build-coordinator utils) #:use-module (guix-build-coordinator datastore) + #:use-module (guix-build-coordinator metrics) #:use-module (guix-build-coordinator coordinator) #:export (http-agent-messaging-start-server @@ -125,6 +126,16 @@ port. Also, the port used can be changed by passing the --port option.\n" (lambda (port) (scm->json json port)))) +(define* (render-text text #:key (extra-headers '()) + (code 200)) + (list (build-response + #:code code + #:headers (append extra-headers + '((content-type . (text/plain)) + (vary . (accept))))) + (lambda (port) + (display text port)))) + (define (no-content) (list (build-response #:code 204) "")) @@ -253,6 +264,9 @@ port. Also, the port used can be changed by passing the --port option.\n" (render-json "access denied" #:code 403)))) + (('GET "metrics") + (render-text + (metrics datastore))) (_ (render-json "not-found" diff --git a/guix-build-coordinator/metrics.scm b/guix-build-coordinator/metrics.scm index 1f93689..00648d3 100644 --- a/guix-build-coordinator/metrics.scm +++ b/guix-build-coordinator/metrics.scm @@ -24,7 +24,7 @@ #:export (metrics)) (define namespace - "guix_build_coordinator") + "guixbuildcoordinator") (define (format-metric namespace metric labels-and-values value) (simple-format -- cgit v1.2.3