You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
4
4
5
5
## [Unreleased]
6
6
7
+
### Fixed
8
+
- Corrected package name in READMEs from `splunk-otel-instrumentation-openai-agents-v2` to `splunk-otel-instrumentation-openai-agents` to match `pyproject.toml`.
9
+
- Updated README env vars to align with upstream `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` values (`span_only`, `event_only`, `span_and_event`), removed deprecated `CAPTURE_MESSAGE_CONTENT_MODE` flag.
10
+
7
11
### Changed
8
12
9
13
-**Always populate messages on Python objects** — `_build_content_payload()` now always captures messages on `LLMInvocation` regardless of `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT`. The emitter layer controls what reaches telemetry, enabling evaluators to access full content even in `NO_CONTENT` mode.
Copy file name to clipboardExpand all lines: instrumentation-genai/opentelemetry-instrumentation-openai-v2/CHANGELOG.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
28
- Add `gen_ai.request.stream` attribute for streaming requests
29
29
- Add `gen_ai.response.time_to_first_chunk` attribute and metric for streaming requests
30
30
31
+
### Fixed
32
+
33
+
- Fix PyPI badge, install command, and references in README.rst to use correct
34
+
`splunk-otel-instrumentation-openai` package name instead of upstream
35
+
- Fix project URLs in pyproject.toml to point to SDOT repo (`signalfx/splunk-otel-python-contrib`)
36
+
31
37
### Changed
32
38
33
39
-**Always populate messages and tool arguments on Python objects** — `input_messages`, `output_messages`, and tool call `arguments` are now always set on `LLMInvocation`/`ToolCall` regardless of `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT`. The emitter layer controls what reaches telemetry, enabling evaluators to access full content even in `NO_CONTENT` mode.
@@ -47,7 +53,7 @@ Initial release of `splunk-otel-instrumentation-openai` package.
If you don't have an OpenAI application, yet, try our `examples <examples>`_
46
46
which only need a valid OpenAI API key.
@@ -89,6 +89,24 @@ Message content such as the contents of the prompt, completion, function argumen
89
89
are not captured by default. To capture message content as log events, set the environment variable
90
90
`OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` to `true`.
91
91
92
+
See the `upstream OpenTelemetry documentation <https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation-genai/opentelemetry-instrumentation-openai-v2#enabling-message-content>`_ for more details.
93
+
94
+
Suppressing nested instrumentation
95
+
***********************************
96
+
97
+
When using multiple instrumentations together (e.g., LangChain + OpenAI), the higher-level
98
+
instrumentation automatically sets ``SUPPRESS_LANGUAGE_MODEL_INSTRUMENTATION_KEY`` in the
99
+
OpenTelemetry context to prevent duplicate spans for the same underlying LLM call.
100
+
101
+
This is handled transparently — **no user configuration is needed**. For example, when
102
+
LangChain instrumentation is active alongside OpenAI instrumentation, you will see
103
+
LangChain spans without redundant nested OpenAI spans.
104
+
105
+
.. note::
106
+
107
+
This is not an environment variable and cannot be configured for zero-code instrumentation.
108
+
It is a context key managed programmatically by instrumentation libraries.
109
+
92
110
Uninstrument
93
111
************
94
112
@@ -106,7 +124,7 @@ To uninstrument clients, call the uninstrument method:
Copy file name to clipboardExpand all lines: util/opentelemetry-util-genai/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,7 @@ All notable changes to this repository are documented in this file.
10
10
11
11
### Changed
12
12
13
+
-**`gen_ai.agent.id` removed from all GenAI metric dimensions** — The attribute was set to the span ID (unique per invocation), causing unbounded metric cardinality. It remains available on spans where per-invocation identity is expected and useful. `gen_ai.agent.name` is unaffected.
13
14
-**`OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` now accepts mode values directly** — Accepts `NO_CONTENT`, `SPAN_ONLY`, `EVENT_ONLY`, `SPAN_AND_EVENT` in addition to legacy `true`/`false`. Aligns with upstream OpenTelemetry GenAI conventions.
14
15
-**Removed experimental mode gating** — Content capture no longer requires an experimental stability flag.
0 commit comments