diff options
author | Christopher Baines <mail@cbaines.net> | 2025-02-27 20:19:22 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2025-02-27 20:27:55 +0000 |
commit | 153fc21aa12c7d27f116244cee2d65a57b923a1d (patch) | |
tree | d60e88e483f5f1f7b208a7c0d154ca3834f1a004 | |
parent | 5235312cbcbb2058f6128883468b17b00ec5f093 (diff) | |
download | build-coordinator-153fc21aa12c7d27f116244cee2d65a57b923a1d.tar build-coordinator-153fc21aa12c7d27f116244cee2d65a57b923a1d.tar.gz |
Try logging about garbage collection
-rw-r--r-- | guix-build-coordinator/coordinator.scm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm index 2abec78..a0c5361 100644 --- a/guix-build-coordinator/coordinator.scm +++ b/guix-build-coordinator/coordinator.scm @@ -496,6 +496,31 @@ (lambda (scheduler port) (display "#<scheduler>" port))) + (call-with-new-thread + (lambda () + (set-thread-name + (string-append "gc watcher")) + + (add-hook! + after-gc-hook + (let ((last-gc-time-taken + (assq-ref (gc-stats) 'gc-time-taken))) + (lambda () + (let* ((gc-time-taken + (assq-ref (gc-stats) 'gc-time-taken)) + (time-since-last + (/ (- gc-time-taken + last-gc-time-taken) + internal-time-units-per-second))) + (when (> time-since-last 0.1) + (format (current-error-port) + "after gc (additional time taken: ~f)\n" + time-since-last)) + (set! last-gc-time-taken + (assq-ref (gc-stats) 'gc-time-taken)))))) + (while #t + (sleep 0.1)))) + (when update-datastore? (datastore-update (build-coordinator-datastore build-coordinator))) |