diff options
author | Christopher Baines <mail@cbaines.net> | 2023-08-20 12:21:22 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-08-20 12:21:22 +0100 |
commit | 901b015864ebc9cf6224341ffd5ff91bb8801244 (patch) | |
tree | 649b84de328e37bc83f5cc752dce877a6408f3d9 /guix-build-coordinator/utils.scm | |
parent | f20372302f0361d64a7d44a7bf988e20d9ebf3f4 (diff) | |
download | build-coordinator-901b015864ebc9cf6224341ffd5ff91bb8801244.tar build-coordinator-901b015864ebc9cf6224341ffd5ff91bb8801244.tar.gz |
Include metric for file descriptors
Diffstat (limited to 'guix-build-coordinator/utils.scm')
-rw-r--r-- | guix-build-coordinator/utils.scm | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm index 8926fa8..69d5167 100644 --- a/guix-build-coordinator/utils.scm +++ b/guix-build-coordinator/utils.scm @@ -1321,15 +1321,27 @@ again." metrics)))) (define (get-port-metrics-updater registry) - (let ((count-metric - (make-gauge-metric registry "guile_ports_total"))) + (let ((ports-metric + (make-gauge-metric registry "guile_ports_total")) + (fds-metric + (make-gauge-metric registry "file_descriptors_total"))) (lambda () (let ((count 0)) (port-for-each (lambda _ (set! count (+ 1 count)))) - (metric-set count-metric count))))) + (metric-set ports-metric count)) + + (metric-set + fds-metric + (length + ;; In theory 'scandir' cannot return #f, but in practice, + ;; we've seen it before. + (or (scandir "/proc/self/fd" + (lambda (file) + (not (member file '("." ".."))))) + '())))))) (define (get-guix-memory-metrics-updater registry) (define %memoization-tables |