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
HYBIM-696: Fix openai-v2 PyPI page links and README (#333)
- Update PyPI badge to splunk-otel-instrumentation-openai
- Fix pip install command to use correct Splunk package name
- Update References link to SDOT GitHub repo
- Fix project URLs in pyproject.toml to signalfx/splunk-otel-python-contrib
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
@@ -15,6 +15,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15
15
- Add `gen_ai.request.stream` attribute for streaming requests
16
16
- Add `gen_ai.response.time_to_first_chunk` attribute and metric for streaming requests
17
17
18
+
### Fixed
19
+
20
+
- Fix PyPI badge, install command, and references in README.rst to use correct
21
+
`splunk-otel-instrumentation-openai` package name instead of upstream
22
+
- Fix project URLs in pyproject.toml to point to SDOT repo (`signalfx/splunk-otel-python-contrib`)
23
+
18
24
### Changed
19
25
20
26
-**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.
@@ -34,7 +40,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:
0 commit comments