add async_post_call_failure_hook

This commit is contained in:
Ishaan Jaff 2024-11-26 19:12:38 -08:00
parent 90168de961
commit 2803661ed8
2 changed files with 10 additions and 11 deletions

View file

@ -357,18 +357,16 @@ class DataDogLogger(CustomBatchLogger):
):
import json
_exception_payload = {
"error_str": str(original_exception),
"error_class": str(original_exception.__class__.__name__),
"status_code": getattr(original_exception, "status_code", None),
"traceback": traceback.format_exc(),
"user_api_key_dict": user_api_key_dict.model_dump(),
}
_exception_payload = DatadogProxyFailureHookJsonMessage(
exception=str(original_exception),
error_class=str(original_exception.__class__.__name__),
status_code=getattr(original_exception, "status_code", None),
traceback=traceback.format_exc(),
user_api_key_dict=user_api_key_dict.model_dump(),
)
json_payload = json.dumps(_exception_payload)
verbose_logger.debug("Datadog: Logger - Logging payload = %s", json_payload)
dd_payload = DatadogPayload(
ddsource=os.getenv("DD_SOURCE", "litellm"),
ddtags="",

View file

@ -1,5 +1,5 @@
from enum import Enum
from typing import TypedDict
from typing import Optional, TypedDict
class DataDogStatus(str, Enum):
@ -23,6 +23,7 @@ class DD_ERRORS(Enum):
class DatadogProxyFailureHookJsonMessage(TypedDict, total=False):
exception: str
error_class: str
status_code: Optional[int]
traceback: str
request_data: dict
user_api_key_dict: dict