diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/litellm/router_utils/router_callbacks | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/router_utils/router_callbacks')
-rw-r--r-- | .venv/lib/python3.12/site-packages/litellm/router_utils/router_callbacks/track_deployment_metrics.py | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/router_utils/router_callbacks/track_deployment_metrics.py b/.venv/lib/python3.12/site-packages/litellm/router_utils/router_callbacks/track_deployment_metrics.py new file mode 100644 index 00000000..1f226879 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/litellm/router_utils/router_callbacks/track_deployment_metrics.py @@ -0,0 +1,90 @@ +""" +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 + ) |