From d6cfd780e87985b25ff019864225f97b26b17aac Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 6 Jan 2025 19:31:54 +0000 Subject: [PATCH] Log resource pool stats on errors --- guix-data-service/web/controller.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index 8ce5849..37099a2 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -35,6 +35,7 @@ #:use-module (texinfo html) #:use-module (squee) #:use-module (json) + #:use-module (fibers) #:use-module (knots parallelism) #:use-module (knots resource-pool) #:use-module (prometheus) @@ -721,6 +722,16 @@ (with-exception-handler (lambda (exn) + (when (resource-pool-timeout-error? exn) + (spawn-fiber + (lambda () + (let* ((pool (resource-pool-timeout-error-pool exn)) + (stats (resource-pool-stats pool))) + (simple-format (current-error-port) + "resource pool timeout error: ~A, ~A\n" + pool + stats))))) + (case (most-appropriate-mime-type mime-types '(text/html application/json))