mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-14 09:03:16 +00:00
fix(otel): export virtual key metadata into baggage when allowlisted
Fixes #49602
This commit is contained in:
parent
60fc121ce8
commit
25a6223130
2 changed files with 19 additions and 1 deletions
|
|
@ -152,8 +152,14 @@ class RequestIdentity:
|
|||
)
|
||||
if (value := get(attr))
|
||||
)
|
||||
raw_key_meta: Final = as_str_mapping(get("metadata") or get("user_api_key_auth_metadata"))
|
||||
key_meta: Final = (
|
||||
tuple(flatten_metadata({"user_api_key_auth_metadata": raw_key_meta}))
|
||||
if raw_key_meta is not None
|
||||
else ()
|
||||
)
|
||||
request_meta: Final = flatten_metadata(request_metadata) if request_metadata is not None else ()
|
||||
metadata: Final = MappingProxyType(dict((*request_meta, *auth_meta)))
|
||||
metadata: Final = MappingProxyType(dict((*request_meta, *auth_meta, *key_meta)))
|
||||
return cls(
|
||||
team_id=as_str(get("team_id")),
|
||||
team_alias=as_str(get("team_alias")),
|
||||
|
|
|
|||
|
|
@ -1607,6 +1607,18 @@ def test_request_identity_from_user_api_key_auth():
|
|||
assert ident.metadata["user_api_key_end_user_id"] == "eu9"
|
||||
|
||||
|
||||
def test_request_identity_from_user_api_key_auth_flattens_key_metadata():
|
||||
from litellm.integrations.otel.model.payloads import RequestIdentity
|
||||
|
||||
class _Auth:
|
||||
metadata = {"team": "a", "customtag": "b", "nested": {"k": "v"}}
|
||||
|
||||
ident = RequestIdentity.from_user_api_key_auth(_Auth())
|
||||
assert ident.metadata["user_api_key_auth_metadata.team"] == "a"
|
||||
assert ident.metadata["user_api_key_auth_metadata.customtag"] == "b"
|
||||
assert ident.metadata["user_api_key_auth_metadata.nested.k"] == "v"
|
||||
|
||||
|
||||
# --- request-metadata translation layer (RequestContext) -------------------- #
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue