diff options
Diffstat (limited to 'nar-herder/cached-compression.scm')
-rw-r--r-- | nar-herder/cached-compression.scm | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/nar-herder/cached-compression.scm b/nar-herder/cached-compression.scm index ac18036..bf82d56 100644 --- a/nar-herder/cached-compression.scm +++ b/nar-herder/cached-compression.scm @@ -372,9 +372,15 @@ ;; It might not have been scheduled for ;; removal, but remove any schedule that ;; exists - (database-delete-scheduled-cached-narinfo-removal - database - (assq-ref cached-narinfo-details 'id)) + (let ((schedule-removed? + (database-delete-scheduled-cached-narinfo-removal + database + (assq-ref cached-narinfo-details 'id)))) + (when schedule-removed? + (metric-decrement + (metrics-registry-fetch-metric + metrics-registry + "database_scheduled_cached_narinfo_removal_total")))) ;; Remove all the database entries first, as ;; that'll stop these files appearing in narinfos @@ -402,6 +408,7 @@ ;; and schedule them for removal (define (start-cached-compression-schedule-removal-fiber database + metrics-registry cached-compression-management-channel enabled-cached-compressions cached-compression-removal-fiber-wakeup-channel @@ -439,7 +446,11 @@ (database-select-scheduled-cached-narinfo-removal database (assq-ref cached-narinfo-file-details 'id))) - all-cached-narinfo-file-details))) + all-cached-narinfo-file-details)) + (count-metric + (metrics-registry-fetch-metric + metrics-registry + "database_scheduled_cached_narinfo_removal_total"))) (for-each (lambda (file cached-narinfo-file-details existing-scheduled-removal) @@ -456,7 +467,9 @@ (database-insert-scheduled-cached-narinfo-removal database (assq-ref cached-narinfo-file-details 'id) - removal-time)))) + removal-time) + + (metric-increment count-metric)))) files all-cached-narinfo-file-details existing-scheduled-removals) @@ -480,7 +493,20 @@ (assq-ref compression-details 'unused-removal-duration)) 4)) - enabled-cached-compressions))))) + enabled-cached-compressions)))) + (start-count + (database-count-scheduled-cached-narinfo-removal + database))) + + (metric-set + (or (metrics-registry-fetch-metric + metrics-registry + "database_scheduled_cached_narinfo_removal_total") + (make-gauge-metric + metrics-registry + "database_scheduled_cached_narinfo_removal_total")) + start-count) + (while #t (log-msg 'DEBUG "cached-compression-schedule-removal-fiber starting pass") |