diff options
Diffstat (limited to 'guix-data-service/web/controller.scm')
-rw-r--r-- | guix-data-service/web/controller.scm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index c9a6a04..580ae0e 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -174,6 +174,24 @@ #:labels '(table column)))) pg-stats-fields)) + (resource-pools + `(("normal" . ,(connection-pool)) + ("reserved" . ,(reserved-connection-pool)))) + + (resource-pool-metrics + `((resources . ,(make-gauge-metric + registry + "resource_pool_resources_total" + #:labels '(pool_name))) + (available . ,(make-gauge-metric + registry + "resource_pool_resources_available_total" + #:labels '(pool_name))) + (waiters . ,(make-gauge-metric + registry + "resource_pool_waiters_total" + #:labels '(pool_name))))) + (gc-metrics-updater (get-gc-metrics-updater registry))) @@ -214,6 +232,20 @@ (reserved-connection-pool) select-load-new-guix-revision-job-metrics))) + (for-each + (match-lambda + ((name . pool) + (for-each + (match-lambda + ((stat . value) + (metric-set + (assq-ref resource-pool-metrics stat) + value + #:label-values + `((pool_name . ,name))))) + (resource-pool-stats pool)))) + resource-pools) + (for-each (match-lambda ((name tablespace row-estimate table-bytes toast-bytes) |