diff options
Diffstat (limited to 'nar-herder/recent-changes.scm')
-rw-r--r-- | nar-herder/recent-changes.scm | 17 |
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 |