ioa-observe-sdk 1.0.5__tar.gz → 1.0.6__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.
Files changed (53) hide show
  1. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/PKG-INFO +1 -1
  2. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/tracing/context_utils.py +16 -15
  3. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/tracing/tracing.py +3 -2
  4. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe_sdk.egg-info/PKG-INFO +1 -1
  5. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/pyproject.toml +1 -1
  6. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/LICENSE.md +0 -0
  7. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/README.md +0 -0
  8. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/__init__.py +0 -0
  9. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/__init__.py +0 -0
  10. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/client/__init__.py +0 -0
  11. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/client/client.py +0 -0
  12. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/client/http.py +0 -0
  13. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/config/__init__.py +0 -0
  14. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/connectors/__init__.py +0 -0
  15. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/connectors/slim.py +0 -0
  16. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/decorators/__init__.py +0 -0
  17. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/decorators/base.py +0 -0
  18. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/decorators/util.py +0 -0
  19. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/instrumentations/__init__.py +0 -0
  20. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/instrumentations/slim.py +0 -0
  21. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/instruments.py +0 -0
  22. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/logging/__init__.py +0 -0
  23. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/logging/logging.py +0 -0
  24. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/__init__.py +0 -0
  25. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agent.py +0 -0
  26. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/__init__.py +0 -0
  27. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/agent_connections.py +0 -0
  28. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/availability.py +0 -0
  29. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/heuristics.py +0 -0
  30. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/recovery_tracker.py +0 -0
  31. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/tool_call_tracker.py +0 -0
  32. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/agents/tracker.py +0 -0
  33. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/metrics/metrics.py +0 -0
  34. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/telemetry.py +0 -0
  35. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/tracing/__init__.py +0 -0
  36. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/tracing/content_allow_list.py +0 -0
  37. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/tracing/context_manager.py +0 -0
  38. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/tracing/manual.py +0 -0
  39. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/utils/__init__.py +0 -0
  40. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/utils/const.py +0 -0
  41. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/utils/in_memory_span_exporter.py +0 -0
  42. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/utils/json_encoder.py +0 -0
  43. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/utils/package_check.py +0 -0
  44. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe/sdk/version.py +0 -0
  45. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe_sdk.egg-info/SOURCES.txt +0 -0
  46. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe_sdk.egg-info/dependency_links.txt +0 -0
  47. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe_sdk.egg-info/requires.txt +0 -0
  48. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/ioa_observe_sdk.egg-info/top_level.txt +0 -0
  49. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/setup.cfg +0 -0
  50. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/tests/test_client.py +0 -0
  51. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/tests/test_instrumentor.py +0 -0
  52. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/tests/test_manual_instrumentation.py +0 -0
  53. {ioa_observe_sdk-1.0.5 → ioa_observe_sdk-1.0.6}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ioa-observe-sdk
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Summary: IOA Observability SDK
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -6,6 +6,7 @@ from ioa_observe.sdk import TracerWrapper
6
6
  from ioa_observe.sdk.client import kv_store
7
7
  from ioa_observe.sdk.tracing import set_execution_id, get_current_traceparent
8
8
  from opentelemetry import context as otel_context
9
+ from opentelemetry.context import attach
9
10
 
10
11
  """
11
12
  Usage Example:
@@ -42,21 +43,21 @@ def set_context_from_headers(headers):
42
43
  """
43
44
  Restores the trace context, baggage, and execution_id from headers.
44
45
  """
45
- # Extract trace context and baggage
46
- _global_tracer = TracerWrapper().get_tracer()
47
- with _global_tracer.start_as_current_span("set_context_from_headers"):
48
- ctx = TraceContextTextMapPropagator().extract(carrier=headers)
49
- ctx = W3CBaggagePropagator().extract(carrier=headers, context=ctx)
50
- # Restore execution_id if present
51
- if headers is not None:
52
- if "traceparent" in headers:
53
- traceparent = headers.get("traceparent")
54
- if "executionID" in headers:
55
- execution_id = headers.get("executionID")
56
- if traceparent and execution_id and execution_id != "None":
57
- set_execution_id(execution_id, traceparent=traceparent)
58
- kv_store.set(f"execution.{traceparent}", execution_id)
59
- return ctx
46
+ carrierHeaders = {}
47
+ if "traceparentID" in headers:
48
+ carrierHeaders["traceparent"] = headers["traceparentID"]
49
+ if "executionID" in headers:
50
+ carrierHeaders["execution_id"] = headers["executionID"]
51
+ ctx = TraceContextTextMapPropagator().extract(carrier=carrierHeaders)
52
+ ctx = W3CBaggagePropagator().extract(carrier=carrierHeaders, context=ctx)
53
+ attach(ctx)
54
+ # Restore execution_id if present
55
+ traceparent = headers.get("traceparentID")
56
+ execution_id = headers.get("executionID")
57
+ if traceparent and execution_id and execution_id != "None":
58
+ set_execution_id(execution_id, traceparent=traceparent)
59
+ kv_store.set(f"execution.{traceparent}", execution_id)
60
+ return ctx
60
61
 
61
62
 
62
63
  def set_baggage_item(key, value):
@@ -2,6 +2,7 @@
2
2
  # SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import atexit
5
+ import contextlib
5
6
  import json
6
7
  import logging
7
8
  import os
@@ -412,7 +413,7 @@ def session_start():
412
413
  set_execution_id(execution_id)
413
414
  metadata = {
414
415
  "executionID": get_value("execution.id") or execution_id,
415
- "traceparent": get_current_traceparent(),
416
+ "traceparentID": get_current_traceparent(),
416
417
  }
417
418
  import inspect
418
419
 
@@ -427,7 +428,7 @@ def session_start():
427
428
 
428
429
  return _cm()
429
430
  # Used as a normal function
430
- return None
431
+ return contextlib.nullcontext(metadata)
431
432
 
432
433
 
433
434
  def set_execution_id(execution_id: str, traceparent: str = None) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ioa-observe-sdk
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Summary: IOA Observability SDK
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "ioa-observe-sdk"
8
- version = "1.0.5"
8
+ version = "1.0.6"
9
9
  description = "IOA Observability SDK"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"