Skip to content

Commit 7208140

Browse files
Small changes and cleanup to GenAi Utils package to enable google's GenAi instrumentation to use it (#4556)
* Changes to genai utils * Add changelog * Fix lint error * Operation name is allowed to vary according to the sem convs * Revert changes to the cosntructor i didn't mean to make --------- Co-authored-by: Aaron Abbott <aaronabbott@google.com>
1 parent 61c1f53 commit 7208140

17 files changed

Lines changed: 70 additions & 46 deletions

File tree

instrumentation-genai/opentelemetry-instrumentation-anthropic/pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ classifiers = [
2525
"Programming Language :: Python :: 3.14",
2626
]
2727
dependencies = [
28-
"opentelemetry-api ~= 1.39",
29-
"opentelemetry-instrumentation ~= 0.60b0",
30-
"opentelemetry-semantic-conventions ~= 0.60b0",
28+
"opentelemetry-api ~= 1.40",
29+
"opentelemetry-instrumentation ~= 0.61b0",
30+
"opentelemetry-semantic-conventions ~= 0.61b0",
3131
"opentelemetry-util-genai >= 0.4b0.dev, <0.5b0",
3232
]
3333

instrumentation-genai/opentelemetry-instrumentation-anthropic/tests/requirements.oldest.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ pytest==7.4.4
2121
pytest-vcr==1.0.2
2222
pytest-asyncio==0.21.0
2323
wrapt==1.16.0
24-
opentelemetry-api==1.39 # when updating, also update in pyproject.toml
25-
opentelemetry-sdk==1.39 # when updating, also update in pyproject.toml
26-
opentelemetry-semantic-conventions==0.60b0 # when updating, also update in pyproject.toml
24+
opentelemetry-api==1.40 # when updating, also update in pyproject.toml
25+
opentelemetry-sdk==1.40 # when updating, also update in pyproject.toml
26+
opentelemetry-semantic-conventions==0.61b0 # when updating, also update in pyproject.toml
2727

2828
-e instrumentation-genai/opentelemetry-instrumentation-anthropic

instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ classifiers = [
2525
"Programming Language :: Python :: 3.14",
2626
]
2727
dependencies = [
28-
"opentelemetry-api >= 1.39",
29-
"opentelemetry-instrumentation >= 0.58b0",
30-
"opentelemetry-semantic-conventions >= 0.60b0",
28+
"opentelemetry-api >= 1.40",
29+
"opentelemetry-instrumentation >= 0.61b0",
30+
"opentelemetry-semantic-conventions >= 0.61b0",
3131
"opentelemetry-util-genai >= 0.4b0.dev"
3232
]
3333

instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.oldest.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ pytest-asyncio==0.21.0
2626
wrapt==1.16.0
2727
opentelemetry-exporter-otlp-proto-grpc~=1.30
2828
opentelemetry-exporter-otlp-proto-http~=1.30
29-
opentelemetry-api==1.39 # when updating, also update in pyproject.toml
30-
opentelemetry-sdk==1.39 # when updating, also update in pyproject.toml
31-
opentelemetry-semantic-conventions==0.60b0 # when updating, also update in pyproject.toml
29+
opentelemetry-api==1.40 # when updating, also update in pyproject.toml
30+
opentelemetry-sdk==1.40 # when updating, also update in pyproject.toml
31+
opentelemetry-semantic-conventions==0.61b0 # when updating, also update in pyproject.toml
3232
grpcio>=1.60.0; implementation_name != "pypy"
3333
grpcio<1.60.0; implementation_name == "pypy"
3434

instrumentation-genai/opentelemetry-instrumentation-openai-v2/pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ classifiers = [
2525
"Programming Language :: Python :: 3.14",
2626
]
2727
dependencies = [
28-
"opentelemetry-api ~= 1.39",
29-
"opentelemetry-instrumentation ~= 0.60b0",
30-
"opentelemetry-semantic-conventions ~= 0.60b0",
28+
"opentelemetry-api ~= 1.40",
29+
"opentelemetry-instrumentation ~= 0.61b0",
30+
"opentelemetry-semantic-conventions ~= 0.61b0",
3131
"opentelemetry-util-genai >= 0.4b0.dev",
3232
]
3333

instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ pytest-vcr==1.0.2
2929
pytest-asyncio==0.21.0
3030
wrapt==1.16.0
3131
opentelemetry-exporter-otlp-proto-http~=1.30
32-
opentelemetry-api==1.39 # when updating, also update in pyproject.toml
33-
opentelemetry-sdk==1.39 # when updating, also update in pyproject.toml
34-
opentelemetry-semantic-conventions==0.60b0 # when updating, also update in pyproject.toml
32+
opentelemetry-api==1.40 # when updating, also update in pyproject.toml
33+
opentelemetry-sdk==1.40 # when updating, also update in pyproject.toml
34+
opentelemetry-semantic-conventions==0.61b0 # when updating, also update in pyproject.toml
3535

3636
-e instrumentation-genai/opentelemetry-instrumentation-openai-v2
3737
-e util/opentelemetry-util-genai

instrumentation-genai/opentelemetry-instrumentation-vertexai/pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ classifiers = [
2525
"Programming Language :: Python :: 3.14",
2626
]
2727
dependencies = [
28-
"opentelemetry-api ~= 1.39",
29-
"opentelemetry-instrumentation ~= 0.60b0",
30-
"opentelemetry-semantic-conventions ~= 0.60b0",
28+
"opentelemetry-api ~= 1.40",
29+
"opentelemetry-instrumentation ~= 0.61b0",
30+
"opentelemetry-semantic-conventions ~= 0.61b0",
3131
"opentelemetry-util-genai >= 0.4b0.dev, <0.5b0",
3232
]
3333

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ grpcio>=1.75.1 ; python_version >= "3.14"
6565
shapely==2.0.6 ; python_version < "3.10"
6666
shapely==2.1.2 ; python_version >= "3.10"
6767
# when updating, also update in pyproject.toml
68-
opentelemetry-api==1.39
69-
opentelemetry-sdk==1.39
70-
opentelemetry-semantic-conventions==0.60b0
71-
opentelemetry-instrumentation==0.60b0
68+
opentelemetry-api==1.40
69+
opentelemetry-sdk==1.40
70+
opentelemetry-semantic-conventions==0.61b0
71+
opentelemetry-instrumentation==0.61b0
7272
# opentelemetry-util-genai[upload]==0.2b0
7373
-e util/opentelemetry-util-genai[upload]
7474
fsspec==2025.9.0

util/opentelemetry-util-genai/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212
([#4538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4538))
1313
- Apply attribute for sampling on instantiation of all invocation types.
1414
([#4553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4553))
15+
- Minor code cleanup and changes in preparation of moving google's GenAI instrumentation
16+
library to use this util library ([#4556](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4556))
1517

1618
## Version 0.4b0 (2026-05-01)
1719

util/opentelemetry-util-genai/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Key Components
1010
--------------
1111

1212
- ``TelemetryHandler`` -- manages LLM invocation lifecycles (spans, metrics, events)
13-
- ``LLMInvocation`` and message types (``Text``, ``Reasoning``, ``Blob``, etc.) -- structured data model for GenAI interactions
13+
- ``InferenceInvocation`` and message types (``Text``, ``Reasoning``, ``Blob``, etc.) -- structured data model for GenAI interactions
1414
- ``CompletionHook`` -- protocol for uploading content to external storage (built-in ``fsspec`` support)
1515
- Metrics -- ``gen_ai.client.operation.duration`` and ``gen_ai.client.token.usage`` histograms
1616

0 commit comments

Comments
 (0)