File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed
Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change 11import asyncio
22import signal
33import logging
4+ import time
45
56from typing import Optional , List
67
@@ -122,12 +123,12 @@ async def start(self, models_settings: List[ModelSettings] = []):
122123 servers_task = asyncio .gather (* servers )
123124
124125 try :
126+ total_start : float = time .perf_counter ()
125127 await asyncio .gather (
126- * [
127- self ._model_registry .load (model_settings )
128- for model_settings in models_settings
129- ]
128+ * [ self ._timed_load (model_settings ) for model_settings in models_settings ]
130129 )
130+ total_duration : float = time .perf_counter () - total_start
131+ logger .debug (f"Loaded { len (models_settings )} models in { total_duration :3f} s" )
131132 except Exception :
132133 # If one of the models failed to load during startup, shutdown the
133134 # server gracefully
@@ -188,3 +189,14 @@ async def stop(self, sig: Optional[int] = None):
188189
189190 if self ._metrics_server :
190191 await self ._metrics_server .stop (sig )
192+
193+ async def _timed_load (self , model_settings : ModelSettings ) -> MLModel :
194+ """
195+ Load a model while measuring the elapsed time.
196+ """
197+ t0 : float = time .perf_counter ()
198+ try :
199+ return await self ._model_registry .load (model_settings )
200+ finally :
201+ elapsed : float = time .perf_counter () - t0
202+ logger .debug (F"Model { getattr (model_settings , 'name' , '<unknown>' )} loaded in { elapsed :3f} s" )
You can’t perform that action at this time.
0 commit comments