From 956aa9ecb046f4dc1d8287f0db316b5b4baf4ad7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 2 Feb 2020 10:10:25 +0100 Subject: Log the time taken to acquire advisory session locks --- guix-data-service/jobs/load-new-guix-revision.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index e4fc29e..cd02706 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -224,6 +224,18 @@ WHERE job_id = $1" (simple-format #t "debug: Finished ~A, took ~A seconds\n" action time-taken))))) +(define (with-advisory-session-lock/log-time conn lock f) + (simple-format #t "debug: Acquiring advisory session lock: ~A\n" lock) + (let ((start-time (current-time))) + (with-advisory-session-lock + conn + lock + (lambda () + (let ((time-taken (- (current-time) start-time))) + (simple-format #t "debug: Finished aquiring lock ~A, took ~A seconds\n" + lock time-taken)) + (f))))) + (define (all-inferior-lint-warnings inf store) (define locales '("cs_CZ.utf8" @@ -738,7 +750,7 @@ WHERE job_id = $1" (lambda () ;; Obtain a session level lock here, to avoid conflicts with ;; other jobs over the Git repository. - (with-advisory-session-lock + (with-advisory-session-lock/log-time conn 'channel->manifest-store-item (lambda () -- cgit v1.2.3