""" Helper functions to get/set num success and num failures per deployment set_deployment_failures_for_current_minute set_deployment_successes_for_current_minute get_deployment_failures_for_current_minute get_deployment_successes_for_current_minute """ from typing import TYPE_CHECKING, Any if TYPE_CHECKING: from litellm.router import Router as _Router LitellmRouter = _Router else: LitellmRouter = Any def increment_deployment_successes_for_current_minute( litellm_router_instance: LitellmRouter, deployment_id: str, ) -> str: """ In-Memory: Increments the number of successes for the current minute for a deployment_id """ key = f"{deployment_id}:successes" litellm_router_instance.cache.increment_cache( local_only=True, key=key, value=1, ttl=60, ) return key def increment_deployment_failures_for_current_minute( litellm_router_instance: LitellmRouter, deployment_id: str, ): """ In-Memory: Increments the number of failures for the current minute for a deployment_id """ key = f"{deployment_id}:fails" litellm_router_instance.cache.increment_cache( local_only=True, key=key, value=1, ttl=60, ) def get_deployment_successes_for_current_minute( litellm_router_instance: LitellmRouter, deployment_id: str, ) -> int: """ Returns the number of successes for the current minute for a deployment_id Returns 0 if no value found """ key = f"{deployment_id}:successes" return ( litellm_router_instance.cache.get_cache( local_only=True, key=key, ) or 0 ) def get_deployment_failures_for_current_minute( litellm_router_instance: LitellmRouter, deployment_id: str, ) -> int: """ Returns the number of fails for the current minute for a deployment_id Returns 0 if no value found """ key = f"{deployment_id}:fails" return ( litellm_router_instance.cache.get_cache( local_only=True, key=key, ) or 0 )