From 84e566e92bd7c00fa01bd08c5d22ed77cbeb1a4c Mon Sep 17 00:00:00 2001 From: Logan Hunt Date: Tue, 31 May 2022 14:56:24 -0700 Subject: Add elapsed time to each split --- database/run.lisp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'database') diff --git a/database/run.lisp b/database/run.lisp index 21d278a..a72f52e 100644 --- a/database/run.lisp +++ b/database/run.lisp @@ -16,6 +16,20 @@ (sxql:order-by :category_split_id) (sxql:where (:= :run run)))) +;; Returns the elapsed time in milliseconds since split started to either +;; current time or the split's end time +(defun run-split-elapsed-time (run-split) + (let ((start (ignore-errors (run-split-start-time run-split))) + (end (or (ignore-errors (run-split-end-time run-split)) (local-time:now)))) + (if start + (floor (* 1000 (local-time:timestamp-difference end start)))))) + +(defun format-elapsed-time (run-split) + (let ((elapsed (run-split-elapsed-time run-split))) + (if elapsed + (format-time (make-time-alist elapsed)) + "-"))) + ;; Returns stuff like PB, best of each split, etc. (defun run-statistics (category) `((asdf . 1))) -- cgit v1.2.3-70-g09d2