opentelemetry-instrumentation-openai 0.46.0__tar.gz → 0.46.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of opentelemetry-instrumentation-openai might be problematic. Click here for more details.

Files changed (21) hide show
  1. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/PKG-INFO +1 -1
  2. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/chat_wrappers.py +2 -1
  3. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/config.py +2 -2
  4. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/v1/responses_wrappers.py +9 -3
  5. opentelemetry_instrumentation_openai-0.46.2/opentelemetry/instrumentation/openai/version.py +1 -0
  6. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/pyproject.toml +1 -1
  7. opentelemetry_instrumentation_openai-0.46.0/opentelemetry/instrumentation/openai/version.py +0 -1
  8. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/README.md +0 -0
  9. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/__init__.py +0 -0
  10. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/__init__.py +0 -0
  11. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/completion_wrappers.py +0 -0
  12. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/embeddings_wrappers.py +0 -0
  13. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/event_emitter.py +0 -0
  14. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/event_models.py +0 -0
  15. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/image_gen_wrappers.py +0 -0
  16. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/shared/span_utils.py +0 -0
  17. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/utils.py +0 -0
  18. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/v0/__init__.py +0 -0
  19. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/v1/__init__.py +0 -0
  20. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/v1/assistant_wrappers.py +0 -0
  21. {opentelemetry_instrumentation_openai-0.46.0 → opentelemetry_instrumentation_openai-0.46.2}/opentelemetry/instrumentation/openai/v1/event_handler_wrapper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: opentelemetry-instrumentation-openai
3
- Version: 0.46.0
3
+ Version: 0.46.2
4
4
  Summary: OpenTelemetry OpenAI instrumentation
5
5
  License: Apache-2.0
6
6
  Author: Gal Kleinman
@@ -429,7 +429,8 @@ async def _process_image_item(item, trace_id, span_id, message_index, content_in
429
429
  image_format = item["image_url"]["url"].split(";")[0].split("/")[1]
430
430
  image_name = f"message_{message_index}_content_{content_index}.{image_format}"
431
431
  base64_string = item["image_url"]["url"].split(",")[1]
432
- url = await Config.upload_base64_image(trace_id, span_id, image_name, base64_string)
432
+ # Convert trace_id and span_id to strings as expected by upload function
433
+ url = await Config.upload_base64_image(str(trace_id), str(span_id), image_name, base64_string)
433
434
 
434
435
  return {"type": "image_url", "image_url": {"url": url}}
435
436
 
@@ -7,8 +7,8 @@ class Config:
7
7
  enrich_assistant = False
8
8
  exception_logger = None
9
9
  get_common_metrics_attributes: Callable[[], dict] = lambda: {}
10
- upload_base64_image: Callable[[str, str, str], str] = (
11
- lambda trace_id, span_id, base64_image_url: str
10
+ upload_base64_image: Callable[[str, str, str, str], str] = (
11
+ lambda trace_id, span_id, image_name, base64_string: str
12
12
  )
13
13
  enable_trace_context_propagation: bool = True
14
14
  use_legacy_attributes = True
@@ -418,9 +418,15 @@ def set_data_attributes(traced_response: TracedData, span: Span):
418
418
  )
419
419
  tool_call_index += 1
420
420
  elif block_dict.get("type") == "reasoning":
421
- _set_span_attribute(
422
- span, f"{GEN_AI_COMPLETION}.0.reasoning", block_dict.get("summary")
423
- )
421
+ reasoning_summary = block_dict.get("summary")
422
+ if reasoning_summary is not None and reasoning_summary != []:
423
+ if isinstance(reasoning_summary, (dict, list)):
424
+ reasoning_value = json.dumps(reasoning_summary)
425
+ else:
426
+ reasoning_value = reasoning_summary
427
+ _set_span_attribute(
428
+ span, f"{GEN_AI_COMPLETION}.0.reasoning", reasoning_value
429
+ )
424
430
  # TODO: handle other block types, in particular other calls
425
431
 
426
432
 
@@ -8,7 +8,7 @@ show_missing = true
8
8
 
9
9
  [tool.poetry]
10
10
  name = "opentelemetry-instrumentation-openai"
11
- version = "0.46.0"
11
+ version = "0.46.2"
12
12
  description = "OpenTelemetry OpenAI instrumentation"
13
13
  authors = [
14
14
  "Gal Kleinman <gal@traceloop.com>",