diff --git a/litellm/integrations/prometheus.py b/litellm/integrations/prometheus.py index 30a1188fe9..b9d89fd3e1 100644 --- a/litellm/integrations/prometheus.py +++ b/litellm/integrations/prometheus.py @@ -25,27 +25,27 @@ class PrometheusLogger: self.litellm_llm_api_failed_requests_metric = Counter( name="litellm_llm_api_failed_requests_metric", documentation="Total number of failed LLM API calls via litellm", - labelnames=["end_user", "hashed_api_key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team", "user"], ) self.litellm_requests_metric = Counter( name="litellm_requests_metric", documentation="Total number of LLM calls to litellm", - labelnames=["end_user", "hashed_api_key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team", "user"], ) # Counter for spend self.litellm_spend_metric = Counter( "litellm_spend_metric", "Total spend on LLM requests", - labelnames=["end_user", "hashed_api_key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team", "user"], ) # 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", "hashed_api_key", "model", "team"], + labelnames=["end_user", "hashed_api_key", "model", "team", "user"], ) except Exception as e: print_verbose(f"Got exception on init prometheus client {str(e)}") @@ -71,6 +71,9 @@ class PrometheusLogger: litellm_params = kwargs.get("litellm_params", {}) or {} proxy_server_request = litellm_params.get("proxy_server_request") or {} end_user_id = proxy_server_request.get("body", {}).get("user", None) + user_id = proxy_server_request.get("metadata", {}).get( + "user_api_key_user_id", None + ) user_api_key = litellm_params.get("metadata", {}).get("user_api_key", None) user_api_team = litellm_params.get("metadata", {}).get( "user_api_key_team_id", None @@ -94,19 +97,19 @@ class PrometheusLogger: user_api_key = hash_token(user_api_key) self.litellm_requests_metric.labels( - end_user_id, user_api_key, model, user_api_team + end_user_id, user_api_key, model, user_api_team, user_id ).inc() self.litellm_spend_metric.labels( - end_user_id, user_api_key, model, user_api_team + end_user_id, user_api_key, model, user_api_team, user_id ).inc(response_cost) self.litellm_tokens_metric.labels( - end_user_id, user_api_key, model, user_api_team + end_user_id, user_api_key, model, user_api_team, user_id ).inc(tokens_used) ### FAILURE INCREMENT ### if "exception" in kwargs: self.litellm_llm_api_failed_requests_metric.labels( - end_user_id, user_api_key, model, user_api_team + end_user_id, user_api_key, model, user_api_team, user_id ).inc() except Exception as e: traceback.print_exc()