aboutsummaryrefslogtreecommitdiff
path: root/nar-herder
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-05-04 18:05:11 +0100
committerChristopher Baines <mail@cbaines.net>2022-05-04 18:05:11 +0100
commitae085cfc0b4855893ed6d166e7d763d7b69e6fe9 (patch)
tree79e178bc3eaf185a65f248f1a0ffff6ea1b033f6 /nar-herder
parent0b642994e766a638ab5136113c32f0bddbdb4773 (diff)
downloadnar-herder-ae085cfc0b4855893ed6d166e7d763d7b69e6fe9.tar
nar-herder-ae085cfc0b4855893ed6d166e7d763d7b69e6fe9.tar.gz
Update the nar_files_total metric when downloading and removing files
Diffstat (limited to 'nar-herder')
-rw-r--r--nar-herder/storage.scm26
1 files changed, 25 insertions, 1 deletions
diff --git a/nar-herder/storage.scm b/nar-herder/storage.scm
index 565037c..ae44f39 100644
--- a/nar-herder/storage.scm
+++ b/nar-herder/storage.scm
@@ -160,6 +160,13 @@
metrics-registry
nar-removal-criteria)
+ (define nar-files-metric
+ (or (metrics-registry-fetch-metric metrics-registry
+ "nar_files_total")
+ (make-gauge-metric metrics-registry
+ "nar_files_total"
+ #:labels '(stored))))
+
(define (check-removal-criteria nar criteria)
(define narinfo
(database-select-narinfo-for-file database (assq-ref nar 'url)))
@@ -220,6 +227,11 @@
(uri-decode
(assq-ref nar-to-consider 'url)))
+ (metric-decrement nar-files-metric
+ #:label-values '((stored . "true")))
+ (metric-increment nar-files-metric
+ #:label-values '((stored . "false")))
+
(let ((storage-size-estimate
(- storage-size
(assq-ref nar-to-consider 'size))))
@@ -247,6 +259,13 @@
(make-gauge-metric metrics-registry
"storage_size_bytes"))
+ (define nar-files-metric
+ (or (metrics-registry-fetch-metric metrics-registry
+ "nar_files_total")
+ (make-gauge-metric metrics-registry
+ "nar_files_total"
+ #:labels '(stored))))
+
(define (fetch-file file)
(let* ((string-url
(string-append mirror file))
@@ -278,7 +297,12 @@
(lambda (output-port)
(dump-port body output-port)))
(rename-file tmp-file-name
- destination-file-name)))))
+ destination-file-name)
+
+ (metric-increment nar-files-metric
+ #:label-values '((stored . "true")))
+ (metric-decrement nar-files-metric
+ #:label-values '((stored . "false")))))))
(define (run-mirror-pass)
(define no-storage-limit?