Skip to content

Commit aab015b

Browse files
committed
Merge branch 'main' of https://github.com/open-telemetry/opentelemetry-python-contrib into fix-issue-2352
2 parents b3b53b9 + e3d3817 commit aab015b

File tree

81 files changed

+5353
-3146
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+5353
-3146
lines changed

.github/component_owners.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@ components:
99
instrumentation/opentelemetry-instrumentation-asyncio:
1010
- bourbonkk
1111

12+
instrumentation/opentelemetry-instrumentation-botocore:
13+
- lukeina2z
14+
- yiyuan-he
15+
1216
instrumentation/opentelemetry-instrumentation-pymssql:
13-
- guillaumep
17+
- guillaumep
1418

1519
instrumentation/opentelemetry-instrumentation-urllib:
1620
- shalevr
@@ -43,4 +47,4 @@ components:
4347

4448
instrumentation-genai/opentelemetry-instrumentation-langchain:
4549
- zhirafovod
46-
- wrisa
50+
- wrisa

CHANGELOG.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
- `opentelemetry-instrumentation-flask` Fixed an issue where http_server_request_duration metrics was being recorded for excluded urls.
1616
([#3794](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3794))
1717

18+
- `opentelemetry-instrumentation-botocore`: migrate off the deprecated events API to use the logs API
19+
([#3624](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3624))
20+
- `opentelemetry-instrumentation-dbapi`: fix crash retrieving libpq version when enabling commenter with psycopg
21+
([#3796](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3796))
22+
1823
### Added
19-
- `opentelemetry-instrumentation`: botocore: Add support for AWS Secrets Manager semantic convention attribute
24+
25+
- `opentelemetry-instrumentation-botocore`: Add support for AWS Secrets Manager semantic convention attribute
2026
([#3765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3765))
27+
- `opentelemetry-instrumentation-dbapi`: Add support for `commenter_options` in `trace_integration` function to control SQLCommenter behavior
28+
([#3743](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3743))
2129
- Add `rstcheck` to pre-commit to stop introducing invalid RST
2230
([#3777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3777))
23-
24-
- `opentelemetry-exporter-credential-provider-gcp`: create this package which provides support for supplying your machine's Application Default Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to `telemetry.googleapis.com`.
25-
[#3766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3766).
31+
- `opentelemetry-exporter-credential-provider-gcp`: create this package which provides support for supplying your machine's Application Default
32+
Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to `telemetry.googleapis.com`. [#3766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3766).
33+
- `opentelemetry-instrumentation-psycopg`: Add missing parameter `capture_parameters` to instrumentor.
34+
([#3676](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3676))
35+
- `opentelemetry-instrumentation-dbapi`: Adds sqlcommenter to documentation.
36+
([#3720](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3720))
2637

2738
## Version 1.37.0/0.58b0 (2025-09-11)
2839

docs/conf.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,14 @@ def getlistcfg(strval):
155155
]
156156

157157

158-
ignore_categories = ["py-class", "py-func", "py-exc", "py-obj", "any"]
158+
ignore_categories = [
159+
"py-class",
160+
"py-func",
161+
"py-exc",
162+
"py-obj",
163+
"py-data",
164+
"any",
165+
]
159166

160167
for category in ignore_categories:
161168
if category in mcfg:

docs/instrumentation-genai/util.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ OpenTelemetry Python - GenAI Util
2626
:undoc-members:
2727
:show-inheritance:
2828

29-
.. automodule:: opentelemetry.util.genai._fsspec_upload
29+
.. automodule:: opentelemetry.util.genai._upload
3030
:members:
3131
:show-inheritance:

docs/nitpick-exceptions.ini

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ py-class=
4545
psycopg.AsyncConnection
4646
ObjectProxy
4747
fastapi.applications.FastAPI
48+
_contextvars.Token
4849

4950
any=
5051
; API
@@ -75,6 +76,10 @@ py-obj=
7576
opentelemetry.instrumentation.dbapi.ConnectionT
7677
opentelemetry.instrumentation.dbapi.CursorT
7778

79+
py-data=
80+
typing.Union
81+
typing.Optional
82+
7883
py-func=
7984
poll
8085
flush

instrumentation-genai/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
| --------------- | ------------------ | --------------- | -------------- |
44
| [opentelemetry-instrumentation-google-genai](./opentelemetry-instrumentation-google-genai) | google-genai >= 1.0.0 | No | development
55
| [opentelemetry-instrumentation-langchain](./opentelemetry-instrumentation-langchain) | langchain >= 0.3.21 | No | development
6+
| [opentelemetry-instrumentation-openai-agents](./opentelemetry-instrumentation-openai-agents) | openai-agents >= 0.3.3 | No | development
67
| [opentelemetry-instrumentation-openai-v2](./opentelemetry-instrumentation-openai-v2) | openai >= 1.26.0 | Yes | development
78
| [opentelemetry-instrumentation-vertexai](./opentelemetry-instrumentation-vertexai) | google-cloud-aiplatform >= 1.64 | No | development
89
| [opentelemetry-instrumentation-weaviate](./opentelemetry-instrumentation-weaviate) | weaviate-client >= 3.0.0,<5.0.0 | No | development

instrumentation-genai/opentelemetry-instrumentation-google-genai/examples/manual/main.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
2222

2323
import google.genai
2424

25-
# NOTE: OpenTelemetry Python Logs and Events APIs are in beta
26-
from opentelemetry import _events as otel_events
25+
# NOTE: OpenTelemetry Python Logs API is in beta
2726
from opentelemetry import _logs as otel_logs
2827
from opentelemetry import metrics as otel_metrics
2928
from opentelemetry import trace as otel_trace
@@ -40,7 +39,6 @@
4039
GoogleGenAiSdkInstrumentor,
4140
)
4241
from opentelemetry.instrumentation.requests import RequestsInstrumentor
43-
from opentelemetry.sdk._events import EventLoggerProvider
4442
from opentelemetry.sdk._logs import LoggerProvider
4543
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
4644
from opentelemetry.sdk.metrics import MeterProvider
@@ -56,12 +54,11 @@ def setup_otel_tracing():
5654
)
5755

5856

59-
def setup_otel_logs_and_events():
57+
def setup_otel_logs():
6058
otel_logs.set_logger_provider(LoggerProvider())
6159
otel_logs.get_logger_provider().add_log_record_processor(
6260
BatchLogRecordProcessor(OTLPLogExporter())
6361
)
64-
otel_events.set_event_logger_provider(EventLoggerProvider())
6562

6663

6764
def setup_otel_metrics():
@@ -77,7 +74,7 @@ def setup_otel_metrics():
7774

7875
def setup_opentelemetry():
7976
setup_otel_tracing()
80-
setup_otel_logs_and_events()
77+
setup_otel_logs()
8178
setup_otel_metrics()
8279

8380

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ classifiers = [
3737
"Programming Language :: Python :: 3.12"
3838
]
3939
dependencies = [
40-
"opentelemetry-api >=1.31.1, <2",
40+
"opentelemetry-api ~=1.37",
4141
"opentelemetry-instrumentation >=0.52b1, <2",
4242
"opentelemetry-semantic-conventions >=0.52b1, <2"
4343
]

instrumentation-genai/opentelemetry-instrumentation-google-genai/src/opentelemetry/instrumentation/google_genai/instrumentor.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from typing import Any, Collection, Optional
1616

17-
from opentelemetry._events import get_event_logger_provider
17+
from opentelemetry._logs import get_logger_provider
1818
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
1919
from opentelemetry.metrics import get_meter_provider
2020
from opentelemetry.trace import get_tracer_provider
@@ -49,13 +49,13 @@ def _instrument(self, **kwargs: Any):
4949
tracer_provider = (
5050
kwargs.get("tracer_provider") or get_tracer_provider()
5151
)
52-
event_logger_provider = (
53-
kwargs.get("event_logger_provider") or get_event_logger_provider()
52+
logger_provider = (
53+
kwargs.get("logger_provider") or get_logger_provider()
5454
)
5555
meter_provider = kwargs.get("meter_provider") or get_meter_provider()
5656
otel_wrapper = OTelWrapper.from_providers(
5757
tracer_provider=tracer_provider,
58-
event_logger_provider=event_logger_provider,
58+
logger_provider=logger_provider,
5959
meter_provider=meter_provider,
6060
)
6161
self._generate_content_snapshot = instrument_generate_content(

instrumentation-genai/opentelemetry-instrumentation-google-genai/src/opentelemetry/instrumentation/google_genai/otel_wrapper.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import google.genai
1818

19-
from opentelemetry._events import Event
19+
from opentelemetry._logs import LogRecord
2020
from opentelemetry.semconv._incubating.metrics import gen_ai_metrics
2121
from opentelemetry.semconv.schemas import Schemas
2222

@@ -36,9 +36,9 @@
3636

3737

3838
class OTelWrapper:
39-
def __init__(self, tracer, event_logger, meter):
39+
def __init__(self, tracer, logger, meter):
4040
self._tracer = tracer
41-
self._event_logger = event_logger
41+
self._logger = logger
4242
self._meter = meter
4343
self._operation_duration_metric = (
4444
gen_ai_metrics.create_gen_ai_client_operation_duration(meter)
@@ -48,12 +48,12 @@ def __init__(self, tracer, event_logger, meter):
4848
)
4949

5050
@staticmethod
51-
def from_providers(tracer_provider, event_logger_provider, meter_provider):
51+
def from_providers(tracer_provider, logger_provider, meter_provider):
5252
return OTelWrapper(
5353
tracer_provider.get_tracer(
5454
_SCOPE_NAME, _LIBRARY_VERSION, _SCHEMA_URL, _SCOPE_ATTRIBUTES
5555
),
56-
event_logger_provider.get_event_logger(
56+
logger_provider.get_logger(
5757
_SCOPE_NAME, _LIBRARY_VERSION, _SCHEMA_URL, _SCOPE_ATTRIBUTES
5858
),
5959
meter=meter_provider.get_meter(
@@ -88,5 +88,7 @@ def log_response_content(self, attributes, body):
8888
self._log_event(event_name, attributes, body)
8989

9090
def _log_event(self, event_name, attributes, body):
91-
event = Event(event_name, body=body, attributes=attributes)
92-
self._event_logger.emit(event)
91+
event = LogRecord(
92+
event_name=event_name, body=body, attributes=attributes
93+
)
94+
self._logger.emit(event)

0 commit comments

Comments
 (0)