Skip to content

Commit a1a0e99

Browse files
fix(prometheus.py): working e2e calls w/ userapikeymetadata
1 parent d6800ee commit a1a0e99

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

enterprise/litellm_enterprise/integrations/prometheus.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from litellm.integrations.custom_logger import CustomLogger
2222
from litellm.proxy._types import LiteLLM_TeamTable, UserAPIKeyAuth
2323
from litellm.types.integrations.prometheus import *
24+
from litellm.types.integrations.prometheus import _sanitize_prometheus_label_name
2425
from litellm.types.utils import StandardLoggingPayload
2526
from litellm.utils import get_end_user_id_for_cost_tracking
2627

@@ -2247,12 +2248,10 @@ def prometheus_label_factory(
22472248

22482249
if enum_values.custom_metadata_labels is not None:
22492250
for key, value in enum_values.custom_metadata_labels.items():
2250-
if key in supported_enum_labels:
2251-
filtered_labels[key] = value
2252-
else:
2253-
filtered_labels[key] = (
2254-
"None" # this happens for dynamically added metadata labels
2255-
)
2251+
# check sanitized key
2252+
sanitized_key = _sanitize_prometheus_label_name(key)
2253+
if sanitized_key in supported_enum_labels:
2254+
filtered_labels[sanitized_key] = value
22562255

22572256
# Add custom tags if configured
22582257
if enum_values.tags is not None:

litellm/proxy/_new_secret_config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ model_list:
66

77
litellm_settings:
88
callbacks: ["prometheus"]
9-
custom_prometheus_metadata_labels: ["metadata.initiative"]
9+
custom_prometheus_metadata_labels: ["metadata.initiative", "metadata.business-unit"]

litellm/proxy/litellm_pre_call_utils.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -636,9 +636,11 @@ def add_management_endpoint_metadata_to_request_metadata(
636636
+ LiteLLM_ManagementEndpoint_MetadataFields
637637
):
638638
added_metadata[k] = v
639-
data[_metadata_variable_name].setdefault(
640-
"user_api_key_auth_metadata", {}
641-
).update(added_metadata)
639+
if data[_metadata_variable_name].get("user_api_key_auth_metadata") is None:
640+
data[_metadata_variable_name]["user_api_key_auth_metadata"] = {}
641+
data[_metadata_variable_name]["user_api_key_auth_metadata"].update(
642+
added_metadata
643+
)
642644
return data
643645

644646
@staticmethod

litellm/types/integrations/prometheus.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -426,13 +426,13 @@ class PrometheusMetricLabels:
426426

427427
# Buffer monitoring metrics - these typically don't need additional labels
428428
litellm_pod_lock_manager_size: List[str] = []
429-
429+
430430
litellm_in_memory_daily_spend_update_queue_size: List[str] = []
431-
431+
432432
litellm_redis_daily_spend_update_queue_size: List[str] = []
433-
433+
434434
litellm_in_memory_spend_update_queue_size: List[str] = []
435-
435+
436436
litellm_redis_spend_update_queue_size: List[str] = []
437437

438438
@staticmethod

0 commit comments

Comments
 (0)