Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
Ishaan Jaff
37aba0e443 log hash of api key and token on OTEL failure hook 2024-11-26 20:42:24 -08:00
Ishaan Jaff
ef7f796d03 include user_api_key_dict debug info on OTEL post 2024-11-26 20:39:37 -08:00

View file

@ -264,9 +264,13 @@ class OpenTelemetry(CustomLogger):
original_exception: Exception,
user_api_key_dict: UserAPIKeyAuth,
):
import traceback
from opentelemetry import trace
from opentelemetry.trace import Status, StatusCode
from litellm.proxy.utils import _hash_token_if_needed
parent_otel_span = user_api_key_dict.parent_otel_span
if parent_otel_span is not None:
parent_otel_span.set_status(Status(StatusCode.ERROR))
@ -282,10 +286,25 @@ class OpenTelemetry(CustomLogger):
key="exception",
value=str(original_exception),
)
self.safe_set_attribute(
span=exception_logging_span,
key="exception.traceback",
value=traceback.format_exc(),
)
# Set User API Key Dict Attributes
for key, value in user_api_key_dict.model_dump().items():
if key == "api_key" or key == "token":
value = _hash_token_if_needed(value)
self.safe_set_attribute(
span=exception_logging_span,
key=f"user_api_key_dict.{key}",
value=value,
)
exception_logging_span.set_status(Status(StatusCode.ERROR))
exception_logging_span.end(end_time=self._to_ns(datetime.now()))
# End Parent OTEL Sspan
# End Parent OTEL Span
parent_otel_span.end(end_time=self._to_ns(datetime.now()))
def _handle_sucess(self, kwargs, response_obj, start_time, end_time):