aboutsummaryrefslogtreecommitdiff
path: root/nar-herder/recent-changes.scm
diff options
context:
space:
mode:
Diffstat (limited to 'nar-herder/recent-changes.scm')
-rw-r--r--nar-herder/recent-changes.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/nar-herder/recent-changes.scm b/nar-herder/recent-changes.scm
index 0ded58d..d95410e 100644
--- a/nar-herder/recent-changes.scm
+++ b/nar-herder/recent-changes.scm
@@ -23,6 +23,7 @@
#:use-module (fibers)
#:use-module (fibers channels)
#:use-module (logging logger)
+ #:use-module (prometheus)
#:use-module (web uri)
#:use-module (guix narinfo)
#:use-module (nar-herder database)
@@ -30,6 +31,7 @@
start-recent-change-listener-fiber))
(define (start-recent-change-removal-and-database-dump-fiber database
+ metrics-registry
database-dump-filename
check-interval
recent-changes-limit)
@@ -49,6 +51,9 @@
(simple-format (current-error-port)
"updated database dump\n")))
+ (define recent-changes-count-metric
+ (metrics-registry-fetch-metric metrics-registry "recent_changes_count"))
+
(spawn-fiber
(lambda ()
(while #t
@@ -74,6 +79,10 @@
(database-delete-recent-changes-with-id-below
database
recent-changes-id-for-deletion)))))
+
+ (metric-decrement recent-changes-count-metric
+ #:by deleted-recent-changes)
+
(simple-format (current-error-port)
"deleted ~A recent changes\n"
deleted-recent-changes)))
@@ -82,8 +91,12 @@
#:unwind? #t)))))
(define (start-recent-change-listener-fiber database
+ metrics-registry
addition-channel
removal-channel)
+ (define recent-changes-count-metric
+ (metrics-registry-fetch-metric metrics-registry "recent_changes_count"))
+
(define (process-addition-change change-details)
(let ((narinfo
(call-with-input-string
@@ -121,6 +134,10 @@
(lambda ()
(let ((recent-changes
(database-select-recent-changes database after)))
+
+ (metric-increment recent-changes-count-metric
+ #:by (length recent-changes))
+
(for-each
(lambda (change-details)
(when (not (member change-details