aboutsummaryrefslogtreecommitdiff
path: root/nar-herder/database.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-20 12:43:32 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-20 12:43:32 +0100
commit4ee80d59f22fdb0924e04cde89e36267bf50224e (patch)
tree642f0de3abc99eb341140d9bd052e34a497f1b3d /nar-herder/database.scm
parent5a647ac7b9ed8003957a5e45b31e5e5d8f40772e (diff)
downloadnar-herder-4ee80d59f22fdb0924e04cde89e36267bf50224e.tar
nar-herder-4ee80d59f22fdb0924e04cde89e36267bf50224e.tar.gz
Log the duration of long database operations
Diffstat (limited to 'nar-herder/database.scm')
-rw-r--r--nar-herder/database.scm20
1 files changed, 18 insertions, 2 deletions
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