We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7ec6c23 commit 27d8eacCopy full SHA for 27d8eac
util/opentelemetry-util-genai/src/opentelemetry/util/genai/_upload/completion_hook.py
@@ -15,6 +15,7 @@
15
16
from __future__ import annotations
17
18
+import datetime
19
import json
20
import logging
21
import posixpath
@@ -271,4 +272,14 @@ class Base64JsonEncoder(json.JSONEncoder):
271
272
def default(self, o: Any) -> Any:
273
if isinstance(o, bytes):
274
return b64encode(o).decode()
- return super().default(o)
275
+ elif isinstance(o, (datetime.datetime, datetime.date)):
276
+ return o.isoformat()
277
+
278
+ try:
279
+ return super().default(o)
280
+ except TypeError:
281
+ _logger.warning(
282
+ 'failed to encode object "%s" to JSON. Falling back to str()',
283
+ o,
284
+ )
285
+ return str(o)
0 commit comments