@@ -375,27 +375,26 @@ def _before_request():
375
375
flask_request_environ = flask .request .environ
376
376
span_name = get_default_span_name ()
377
377
378
+ attributes = otel_wsgi .collect_request_attributes (
379
+ flask_request_environ
380
+ )
381
+ if flask .request .url_rule :
382
+ # For 404 that result from no route found, etc, we
383
+ # don't have a url_rule.
384
+ attributes [SpanAttributes .HTTP_ROUTE ] = flask .request .url_rule .rule
378
385
span , token = _start_internal_or_server_span (
379
386
tracer = tracer ,
380
387
span_name = span_name ,
381
388
start_time = flask_request_environ .get (_ENVIRON_STARTTIME_KEY ),
382
389
context_carrier = flask_request_environ ,
383
390
context_getter = otel_wsgi .wsgi_getter ,
391
+ attributes = attributes ,
384
392
)
385
393
386
394
if request_hook :
387
395
request_hook (span , flask_request_environ )
388
396
389
397
if span .is_recording ():
390
- attributes = otel_wsgi .collect_request_attributes (
391
- flask_request_environ
392
- )
393
- if flask .request .url_rule :
394
- # For 404 that result from no route found, etc, we
395
- # don't have a url_rule.
396
- attributes [
397
- SpanAttributes .HTTP_ROUTE
398
- ] = flask .request .url_rule .rule
399
398
for key , value in attributes .items ():
400
399
span .set_attribute (key , value )
401
400
if span .is_recording () and span .kind == trace .SpanKind .SERVER :
0 commit comments