aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-03-25 11:51:38 +0000
committerChristopher Baines <mail@cbaines.net>2024-03-25 14:00:41 +0000
commit860f257551ccbc4eb431433794751354bedd7e68 (patch)
treef7aee8c7ede699ac68aa734e1cb8e18d55d7432e
parenta1b49b3b45e5484cb93419be3711b6ab85495bee (diff)
downloadnar-herder-860f257551ccbc4eb431433794751354bedd7e68.tar
nar-herder-860f257551ccbc4eb431433794751354bedd7e68.tar.gz
Instrument the number of cached compression files
-rw-r--r--nar-herder/cached-compression.scm21
1 files changed, 19 insertions, 2 deletions
diff --git a/nar-herder/cached-compression.scm b/nar-herder/cached-compression.scm
index 40dfcd1..835faf4 100644
--- a/nar-herder/cached-compression.scm
+++ b/nar-herder/cached-compression.scm
@@ -71,7 +71,8 @@
;; time and schedule them for removal
(define (perform-cached-compression-startup database
- enabled-cached-compressions)
+ enabled-cached-compressions
+ nar-cache-files)
(let* ((database-entries-missing-files
;; List tracking entries in the database for cached files,
;; where the file is missing from the disk.
@@ -119,6 +120,10 @@
(begin
(hash-remove! files-hash filename)
+ (metric-increment nar-cache-files
+ #:label-values
+ `((compression . ,compression)))
+
`((,compression . ,(+ (assq-ref details 'size)
(or (assq-ref result compression)
0)))
@@ -190,6 +195,11 @@
"nar_cache_size_bytes"
#:labels '(compression)))
+ (define nar-cache-files
+ (make-gauge-metric metrics-registry
+ "nar_cache_files"
+ #:labels '(compression)))
+
(define channel
(make-channel))
@@ -295,7 +305,8 @@
(let ((initial-cached-bytes-by-compression
(perform-cached-compression-startup
database
- enabled-cached-compressions))
+ enabled-cached-compressions
+ nar-cache-files))
(nar-cached-compression-usage-hash-table
(make-hash-table 65536)))
@@ -334,6 +345,12 @@
updated-bytes
#:label-values `((compression . ,compression)))
+ ((if (eq? action 'cached-narinfo-added)
+ metric-increment
+ metric-decrement)
+ nar-cache-files
+ #:label-values `((compression . ,compression)))
+
(when (eq? action 'cached-narinfo-added)
(database-insert-cached-narinfo-file
database