From ba18656289b3f2ac5591fdb274d54aaa60578aaa Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Thu, 31 Aug 2023 16:41:02 +0200
Subject: [PATCH] Improved resolution of step timing

---
 model_server/workflow.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/model_server/workflow.py b/model_server/workflow.py
index 730a41b4..a89f900a 100644
--- a/model_server/workflow.py
+++ b/model_server/workflow.py
@@ -2,7 +2,7 @@
 Implementation of image analysis work behind API endpoints, without knowledge of persistent data in server session.
 """
 
-from time import sleep, time
+from time import perf_counter
 from typing import Dict
 
 from model_server.image import generate_file_accessor, write_accessor_data_to_file
@@ -10,13 +10,15 @@ from model_server.image import generate_file_accessor, write_accessor_data_to_fi
 from pydantic import BaseModel
 
 class Timer(object):
+    tfunc = perf_counter
+
     def __init__(self):
         self.events = {}
-        self.last = time()
+        self.last = self.tfunc()
 
     def click(self, key):
-        self.events[key] = time() - self.last
-        self.last = time()
+        self.events[key] = self.tfunc() - self.last
+        self.last = self.tfunc()
 
 class WorkflowRunRecord(BaseModel):
     model_id: str
-- 
GitLab