Skip to content

Commit cea918d

Browse files
committed
Change env variable to nonlocal var
1 parent 588199d commit cea918d

File tree

1 file changed

+8
-12
lines changed
  • instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask

1 file changed

+8
-12
lines changed

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

+8-12
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,6 @@ def response_hook(span: Span, status: str, response_headers: List):
285285
_ENVIRON_ACTIVATION_KEY = "opentelemetry-flask.activation_key"
286286
_ENVIRON_REQCTX_REF_KEY = "opentelemetry-flask.reqctx_ref_key"
287287
_ENVIRON_TOKEN = "opentelemetry-flask.token"
288-
_ENVIRON_REQUEST_ROUTE_KEY = "opentelemetry-flask.request-route_key"
289288

290289
_excluded_urls_from_env = get_excluded_urls("FLASK")
291290

@@ -342,16 +341,16 @@ def _wrapped_app(wrapped_app_environ, start_response):
342341
)
343342

344343
active_requests_counter.add(1, active_requests_count_attrs)
344+
request_route = None
345345

346346
def _start_response(status, response_headers, *args, **kwargs):
347347
if flask.request and (
348348
excluded_urls is None
349349
or not excluded_urls.url_disabled(flask.request.url)
350350
):
351351
if flask.request.url_rule:
352-
wrapped_app_environ[_ENVIRON_REQUEST_ROUTE_KEY] = str(
353-
flask.request.url_rule
354-
)
352+
nonlocal request_route
353+
request_route = str(flask.request.url_rule)
355354

356355
span = flask.request.environ.get(_ENVIRON_SPAN_KEY)
357356

@@ -396,10 +395,9 @@ def _start_response(status, response_headers, *args, **kwargs):
396395
attributes, _HTTPStabilityMode.DEFAULT
397396
)
398397

399-
if wrapped_app_environ.get(_ENVIRON_REQUEST_ROUTE_KEY, None):
400-
duration_attrs_old[SpanAttributes.HTTP_TARGET] = (
401-
wrapped_app_environ.get(_ENVIRON_REQUEST_ROUTE_KEY)
402-
)
398+
if request_route:
399+
duration_attrs_old[SpanAttributes.HTTP_TARGET] = request_route
400+
403401
duration_histogram_old.record(
404402
max(round(duration_s * 1000), 0), duration_attrs_old
405403
)
@@ -408,10 +406,8 @@ def _start_response(status, response_headers, *args, **kwargs):
408406
attributes, _HTTPStabilityMode.HTTP
409407
)
410408

411-
if wrapped_app_environ.get(_ENVIRON_REQUEST_ROUTE_KEY, None):
412-
duration_attrs_new[HTTP_ROUTE] = wrapped_app_environ.get(
413-
_ENVIRON_REQUEST_ROUTE_KEY
414-
)
409+
if request_route:
410+
duration_attrs_new[HTTP_ROUTE] = request_route
415411

416412
duration_histogram_new.record(
417413
max(duration_s, 0), duration_attrs_new

0 commit comments

Comments
 (0)