Skip to content

Commit a5b2a7f

Browse files
authored
Merge branch 'main' into add-type-hints-to-sqlite3
2 parents 367d1b7 + 9e83e25 commit a5b2a7f

File tree

12 files changed

+89
-37
lines changed

12 files changed

+89
-37
lines changed

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ build:
1212

1313
python:
1414
install:
15-
- requirements: docs-requirements.txt
15+
- requirements: rtd-requirements.txt

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313

1414
### Added
1515

16+
- `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation
17+
([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045))
1618
- `opentelemetry-distro` default to OTLP log exporter.
1719
([#3042](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3042))
1820
- `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2
@@ -44,6 +46,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4446
([#3022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3022))
4547
- Replace all instrumentor unit test `assertEqualSpanInstrumentationInfo` calls with `assertEqualSpanInstrumentationScope` calls
4648
([#3037](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3037))
49+
- `opentelemetry-instrumentation-sqlalchemy`: Fix a remaining memory leak in EngineTracer
50+
([#3053](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3053))
4751

4852
### Breaking changes
4953

docs-requirements.txt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,6 @@ sphinx==7.1.2
22
sphinx-rtd-theme==2.0.0rc4
33
sphinx-autodoc-typehints==1.25.2
44

5-
# Need to install the api/sdk in the venv for autodoc. Modifying sys.path
6-
# doesn't work for pkg_resources.
7-
-e "git+https://github.com/open-telemetry/opentelemetry-python.git#egg=opentelemetry-api&subdirectory=opentelemetry-api"
8-
-e "git+https://github.com/open-telemetry/opentelemetry-python.git#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions"
9-
-e "git+https://github.com/open-telemetry/opentelemetry-python.git#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk"
10-
-e "git+https://github.com/open-telemetry/opentelemetry-python-contrib.git#egg=opentelemetry-util-http&subdirectory=util/opentelemetry-util-http"
11-
./opentelemetry-instrumentation
12-
135
# Required by opentelemetry-instrumentation
146
fastapi>=0.65.2
157
pymemcache~=1.3
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.. include:: ../../../instrumentation/opentelemetry-instrumentation-aiohttp-server/README.rst
2+
:end-before: References
3+
4+
.. automodule:: opentelemetry.instrumentation.aiohttp_server
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.. include:: ../../../instrumentation/opentelemetry-instrumentation-click/README.rst
2+
:end-before: References
3+
4+
.. automodule:: opentelemetry.instrumentation.click
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

docs/nitpick-exceptions.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ py-class=
2929
httpx.SyncByteStream
3030
httpx.AsyncByteStream
3131
httpx.Response
32+
aiohttp.web_request.Request
3233
yarl.URL
3334
cimpl.Producer
3435
cimpl.Consumer
@@ -65,7 +66,7 @@ any=
6566

6667
py-obj=
6768
opentelemetry.propagators.textmap.CarrierT
68-
69+
6970
py-func=
7071
poll
7172
flush

instrumentation/opentelemetry-instrumentation-click/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
OpenTelemetry click Instrumentation
2-
===========================
2+
====================================
33

44
|pypi|
55

instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/engine.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,26 @@ def _pool_checkout(
167167
self._add_idle_to_connection_usage(-1)
168168
self._add_used_to_connection_usage(1)
169169

170+
@classmethod
171+
def _dispose_of_event_listener(cls, obj):
172+
try:
173+
cls._remove_event_listener_params.remove(obj)
174+
except ValueError:
175+
pass
176+
170177
@classmethod
171178
def _register_event_listener(cls, target, identifier, func, *args, **kw):
172179
listen(target, identifier, func, *args, **kw)
173180
cls._remove_event_listener_params.append(
174181
(weakref.ref(target), identifier, func)
175182
)
176183

184+
weakref.finalize(
185+
target,
186+
cls._dispose_of_event_listener,
187+
(weakref.ref(target), identifier, func),
188+
)
189+
177190
@classmethod
178191
def remove_all_event_listeners(cls):
179192
for (

instrumentation/opentelemetry-instrumentation-sqlalchemy/tests/test_sqlalchemy.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,10 @@ def test_no_memory_leakage_if_engine_diposed(self):
417417

418418
from sqlalchemy import create_engine
419419

420+
from opentelemetry.instrumentation.sqlalchemy.engine import (
421+
EngineTracer,
422+
)
423+
420424
callback = mock.Mock()
421425

422426
def make_shortlived_engine():
@@ -432,3 +436,4 @@ def make_shortlived_engine():
432436

433437
gc.collect()
434438
assert callback.call_count == 5
439+
assert len(EngineTracer._remove_event_listener_params) == 0

instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/py.typed

Whitespace-only changes.

0 commit comments

Comments
 (0)