File tree Expand file tree Collapse file tree 2 files changed +14
-8
lines changed
instrumentation/opentelemetry-instrumentation-wsgi
src/opentelemetry/instrumentation/wsgi Expand file tree Collapse file tree 2 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -440,8 +440,12 @@ def add_response_attributes(
440
440
441
441
442
442
def get_default_span_name (environ ):
443
- """Default implementation for name_callback, returns HTTP {METHOD_NAME}."""
444
- return f"HTTP { environ .get ('REQUEST_METHOD' , '' )} " .strip ()
443
+ """Default implementation for name_callback, returns `{METHOD_NAME}`."""
444
+ method = environ .get ("REQUEST_METHOD" , "" ).strip ()
445
+ route = environ .get ("PATH_INFO" , "" ).strip ()
446
+ if route :
447
+ return f"{ method } { route } "
448
+ return method
445
449
446
450
447
451
class OpenTelemetryMiddleware :
Original file line number Diff line number Diff line change @@ -128,7 +128,7 @@ def validate_response(
128
128
self ,
129
129
response ,
130
130
error = None ,
131
- span_name = "HTTP GET" ,
131
+ span_name = "GET / " ,
132
132
http_method = "GET" ,
133
133
span_attributes = None ,
134
134
response_headers = None ,
@@ -284,12 +284,14 @@ def test_wsgi_metrics(self):
284
284
)
285
285
self .assertTrue (number_data_point_seen and histogram_data_point_seen )
286
286
287
- def test_default_span_name_missing_request_method (self ):
288
- """Test that default span_names with missing request method."""
289
- self .environ .pop ("REQUEST_METHOD" )
287
+ # Question: How often request method can be lost?
288
+ def test_default_span_name_missing_path_info (self ):
289
+ """Test that default span_names with missing path info."""
290
+ self .environ .pop ("PATH_INFO" )
291
+ method = self .environ .get ("REQUEST_METHOD" , "" ).strip ()
290
292
app = otel_wsgi .OpenTelemetryMiddleware (simple_wsgi )
291
293
response = app (self .environ , self .start_response )
292
- self .validate_response (response , span_name = "HTTP" , http_method = None )
294
+ self .validate_response (response , span_name = method )
293
295
294
296
295
297
class TestWsgiAttributes (unittest .TestCase ):
@@ -455,7 +457,7 @@ def validate_response(
455
457
response ,
456
458
exporter ,
457
459
error = None ,
458
- span_name = "HTTP GET" ,
460
+ span_name = "GET / " ,
459
461
http_method = "GET" ,
460
462
):
461
463
while True :
You can’t perform that action at this time.
0 commit comments