From 53388b44364f277b1df81b6f8cbf69c8e3de6b2f Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Tue, 16 Apr 2024 19:01:38 -0700 Subject: [PATCH] fix don't log user_api_key to prometheus --- litellm/integrations/prometheus.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/litellm/integrations/prometheus.py b/litellm/integrations/prometheus.py index d5f10262f2b..6fb12539f5b 100644 --- a/litellm/integrations/prometheus.py +++ b/litellm/integrations/prometheus.py @@ -25,21 +25,21 @@ class PrometheusLogger: self.litellm_requests_metric = Counter( name="litellm_requests_metric", documentation="Total number of LLM calls to litellm", - labelnames=["end_user", "key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team"], ) # Counter for spend self.litellm_spend_metric = Counter( "litellm_spend_metric", "Total spend on LLM requests", - labelnames=["end_user", "key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team"], ) # Counter for total_output_tokens self.litellm_tokens_metric = Counter( "litellm_total_tokens", "Total number of input + output tokens from LLM requests", - labelnames=["end_user", "key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team"], ) except Exception as e: print_verbose(f"Got exception on init prometheus client {str(e)}") @@ -75,6 +75,15 @@ class PrometheusLogger: f"inside track_prometheus_metrics, model {model}, response_cost {response_cost}, tokens_used {tokens_used}, end_user_id {end_user_id}, user_api_key {user_api_key}" ) + if ( + user_api_key is not None + and isinstance(user_api_key, str) + and user_api_key.startswith("sk-") + ): + from litellm.proxy.utils import hash_token + + user_api_key = hash_token(user_api_key) + self.litellm_requests_metric.labels( end_user_id, user_api_key, model, user_api_team ).inc()