Skip to content

Commit e2c6efa

Browse files
committed
refactor: Starlette instrumentation.
Signed-off-by: Paulo Vital <[email protected]>
1 parent 2f0add3 commit e2c6efa

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

src/instana/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ def boot_agent():
179179
# pymysql, # noqa: F401
180180
# redis, # noqa: F401
181181
# sqlalchemy, # noqa: F401
182-
# starlette_inst, # noqa: F401
182+
starlette_inst, # noqa: F401
183183
# sanic_inst, # noqa: F401
184184
urllib3, # noqa: F401
185185
)

src/instana/instrumentation/starlette_inst.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,29 @@
55
Instrumentation for Starlette
66
https://www.starlette.io/
77
"""
8+
9+
from typing import Any, Callable, Dict, Tuple
10+
11+
import starlette.applications
12+
813
try:
914
import starlette
1015
import wrapt
11-
from ..log import logger
12-
from .asgi import InstanaASGIMiddleware
1316
from starlette.middleware import Middleware
1417

15-
@wrapt.patch_function_wrapper('starlette.applications', 'Starlette.__init__')
16-
def init_with_instana(wrapped, instance, args, kwargs):
17-
middleware = kwargs.get('middleware')
18+
from instana.instrumentation.asgi import InstanaASGIMiddleware
19+
from instana.log import logger
20+
21+
@wrapt.patch_function_wrapper("starlette.applications", "Starlette.__init__")
22+
def init_with_instana(
23+
wrapped: Callable[..., starlette.applications.Starlette.__init__],
24+
instance: starlette.applications.Starlette,
25+
args: Tuple,
26+
kwargs: Dict[str, Any],
27+
) -> None:
28+
middleware = kwargs.get("middleware")
1829
if middleware is None:
19-
kwargs['middleware'] = [Middleware(InstanaASGIMiddleware)]
30+
kwargs["middleware"] = [Middleware(InstanaASGIMiddleware)]
2031
elif isinstance(middleware, list):
2132
middleware.append(Middleware(InstanaASGIMiddleware))
2233

0 commit comments

Comments
 (0)