From 4ee80d59f22fdb0924e04cde89e36267bf50224e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 20 May 2023 12:43:32 +0100 Subject: Log the duration of long database operations --- nar-herder/database.scm | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'nar-herder/database.scm') diff --git a/nar-herder/database.scm b/nar-herder/database.scm index aaca888..1bf03d0 100644 --- a/nar-herder/database.scm +++ b/nar-herder/database.scm @@ -273,7 +273,15 @@ CREATE INDEX cached_narinfo_files_narinfo_id (format (current-error-port) "warning: database read delayed by ~1,2f seconds~%" - seconds-delayed)))))) + seconds-delayed)))) + #:duration-logger + (lambda (duration proc) + (when (> duration 5) + (format + (current-error-port) + "warning: database read took ~1,2f seconds (~a)~%" + duration + proc))))) (writer-thread-channel (make-worker-thread-set @@ -307,7 +315,15 @@ CREATE INDEX cached_narinfo_files_narinfo_id (format (current-error-port) "warning: database write delayed by ~1,2f seconds~%" - seconds-delayed))))))) + seconds-delayed)))) + #:duration-logger + (lambda (duration proc) + (when (> duration 5) + (format + (current-error-port) + "warning: database write took ~1,2f seconds (~a)~%" + duration + proc)))))) (make-database database-file reader-thread-channel -- cgit v1.2.3