diff --git a/litellm/router.py b/litellm/router.py index 5972b06f01a..854e230cec3 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -1057,7 +1057,7 @@ class Router: self._update_kwargs_before_fallbacks(model=model, kwargs=kwargs) request_priority = kwargs.get("priority") or self.default_priority - start_time = time.time() + start_time = time.perf_counter() _is_prompt_management_model = self._is_prompt_management_model(model) if _is_prompt_management_model: @@ -1070,7 +1070,7 @@ class Router: response = await self.schedule_acompletion(**kwargs) else: response = await self.async_function_with_fallbacks(**kwargs) - end_time = time.time() + end_time = time.perf_counter() _duration = end_time - start_time asyncio.create_task( self.service_logger_obj.async_service_success_hook( @@ -1245,7 +1245,7 @@ class Router: input_kwargs_for_streaming_fallback["model"] = model parent_otel_span = _get_parent_otel_span_from_kwargs(kwargs) - start_time = time.time() + start_time = time.perf_counter() deployment = await self.async_get_available_deployment( model=model, messages=messages, @@ -1254,7 +1254,7 @@ class Router: ) _timeout_debug_deployment_dict = deployment - end_time = time.time() + end_time = time.perf_counter() _duration = end_time - start_time asyncio.create_task( self.service_logger_obj.async_service_success_hook( @@ -1834,8 +1834,8 @@ class Router: await self.scheduler.add_request(request=item) ## POLL QUEUE - end_time = time.time() + self.timeout - curr_time = time.time() + end_time = time.monotonic() + self.timeout + curr_time = time.monotonic() poll_interval = self.scheduler.polling_interval # poll every 3ms make_request = False @@ -1852,7 +1852,7 @@ class Router: break else: ## ELSE -> loop till default_timeout await asyncio.sleep(poll_interval) - curr_time = time.time() + curr_time = time.monotonic() if make_request: try: @@ -1896,8 +1896,8 @@ class Router: await self.scheduler.add_request(request=item) ## POLL QUEUE - end_time = time.time() + self.timeout - curr_time = time.time() + end_time = time.monotonic() + self.timeout + curr_time = time.monotonic() poll_interval = self.scheduler.polling_interval # poll every 3ms make_request = False @@ -1914,7 +1914,7 @@ class Router: break else: ## ELSE -> loop till default_timeout await asyncio.sleep(poll_interval) - curr_time = time.time() + curr_time = time.monotonic() if make_request: try: @@ -7070,7 +7070,7 @@ class Router: if isinstance(healthy_deployments, dict): return healthy_deployments - start_time = time.time() + start_time = time.perf_counter() if ( self.routing_strategy == "usage-based-routing-v2" and self.lowesttpm_logger_v2 is not None @@ -7137,7 +7137,7 @@ class Router: f"get_available_deployment for model: {model}, Selected deployment: {self.print_deployment(deployment)} for model: {model}" ) - end_time = time.time() + end_time = time.perf_counter() _duration = end_time - start_time asyncio.create_task( self.service_logger_obj.async_service_success_hook(