2323import opentelemetry .instrumentation .wsgi as otel_wsgi
2424from opentelemetry import trace as trace_api
2525from opentelemetry .instrumentation ._semconv import (
26+ HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
2627 OTEL_SEMCONV_STABILITY_OPT_IN ,
2728 _OpenTelemetrySemanticConventionStability ,
2829 _server_active_requests_count_attrs_new ,
@@ -398,6 +399,7 @@ def test_wsgi_metrics(self):
398399 self .assertTrue (number_data_point_seen and histogram_data_point_seen )
399400
400401 def test_wsgi_metrics_new_semconv (self ):
402+ # pylint: disable=too-many-nested-blocks
401403 app = otel_wsgi .OpenTelemetryMiddleware (error_wsgi_unhandled )
402404 self .assertRaises (ValueError , app , self .environ , self .start_response )
403405 self .assertRaises (ValueError , app , self .environ , self .start_response )
@@ -418,6 +420,11 @@ def test_wsgi_metrics_new_semconv(self):
418420 for point in data_points :
419421 if isinstance (point , HistogramDataPoint ):
420422 self .assertEqual (point .count , 3 )
423+ if metric .name == "http.server.request.duration" :
424+ self .assertEqual (
425+ point .explicit_bounds ,
426+ HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
427+ )
421428 histogram_data_point_seen = True
422429 if isinstance (point , NumberDataPoint ):
423430 number_data_point_seen = True
@@ -429,6 +436,7 @@ def test_wsgi_metrics_new_semconv(self):
429436 self .assertTrue (number_data_point_seen and histogram_data_point_seen )
430437
431438 def test_wsgi_metrics_both_semconv (self ):
439+ # pylint: disable=too-many-nested-blocks
432440 app = otel_wsgi .OpenTelemetryMiddleware (error_wsgi_unhandled )
433441 self .assertRaises (ValueError , app , self .environ , self .start_response )
434442 metrics_list = self .memory_metrics_reader .get_metrics_data ()
@@ -456,6 +464,11 @@ def test_wsgi_metrics_both_semconv(self):
456464 for point in data_points :
457465 if isinstance (point , HistogramDataPoint ):
458466 self .assertEqual (point .count , 1 )
467+ if metric .name == "http.server.request.duration" :
468+ self .assertEqual (
469+ point .explicit_bounds ,
470+ HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
471+ )
459472 histogram_data_point_seen = True
460473 if isinstance (point , NumberDataPoint ):
461474 number_data_point_seen = True
0 commit comments