Skip to content

Commit c88ac3f

Browse files
committed
Add changelog
1 parent 92d122a commit c88ac3f

File tree

2 files changed

+13
-21
lines changed
  • instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette

2 files changed

+13
-21
lines changed

CHANGELOG.md

Lines changed: 2 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-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2
1719
([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976))
1820
- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap`

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

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -193,14 +193,14 @@ def client_response_hook(span: Span, scope: dict[str, Any], message: dict[str, A
193193
from opentelemetry.util.http import get_excluded_urls
194194

195195
if TYPE_CHECKING:
196-
from typing import NotRequired, TypedDict, Unpack
196+
from typing import TypedDict, Unpack
197197

198-
class InstrumentKwargs(TypedDict):
199-
tracer_provider: NotRequired[TracerProvider]
200-
meter_provider: NotRequired[MeterProvider]
201-
server_request_hook: NotRequired[ServerRequestHook]
202-
client_request_hook: NotRequired[ClientRequestHook]
203-
client_response_hook: NotRequired[ClientResponseHook]
198+
class InstrumentKwargs(TypedDict, total=False):
199+
tracer_provider: TracerProvider
200+
meter_provider: MeterProvider
201+
server_request_hook: ServerRequestHook
202+
client_request_hook: ClientRequestHook
203+
client_response_hook: ClientResponseHook
204204

205205

206206
_excluded_urls = get_excluded_urls("STARLETTE")
@@ -256,11 +256,7 @@ def instrument_app(
256256

257257
@staticmethod
258258
def uninstrument_app(app: applications.Starlette):
259-
app.user_middleware = [
260-
x
261-
for x in app.user_middleware
262-
if x.cls is not OpenTelemetryMiddleware
263-
]
259+
app.user_middleware = [x for x in app.user_middleware if x.cls is not OpenTelemetryMiddleware]
264260
app.middleware_stack = app.build_middleware_stack()
265261
app._is_instrumented_by_opentelemetry = False
266262

@@ -270,15 +266,9 @@ def instrumentation_dependencies(self) -> Collection[str]:
270266
def _instrument(self, **kwargs: Unpack[InstrumentKwargs]):
271267
self._original_starlette = applications.Starlette
272268
_InstrumentedStarlette._tracer_provider = kwargs.get("tracer_provider")
273-
_InstrumentedStarlette._server_request_hook = kwargs.get(
274-
"server_request_hook"
275-
)
276-
_InstrumentedStarlette._client_request_hook = kwargs.get(
277-
"client_request_hook"
278-
)
279-
_InstrumentedStarlette._client_response_hook = kwargs.get(
280-
"client_response_hook"
281-
)
269+
_InstrumentedStarlette._server_request_hook = kwargs.get("server_request_hook")
270+
_InstrumentedStarlette._client_request_hook = kwargs.get("client_request_hook")
271+
_InstrumentedStarlette._client_response_hook = kwargs.get("client_response_hook")
282272
_InstrumentedStarlette._meter_provider = kwargs.get("_meter_provider")
283273

284274
applications.Starlette = _InstrumentedStarlette

0 commit comments

Comments
 (0)