@@ -427,30 +427,26 @@ def test_wsgi_metrics(self):
427427 self .assertRaises (ValueError , app , self .environ , self .start_response )
428428 self .assertRaises (ValueError , app , self .environ , self .start_response )
429429 self .assertRaises (ValueError , app , self .environ , self .start_response )
430- metrics_list = self .memory_metrics_reader .get_metrics_data ()
431430 number_data_point_seen = False
432431 histogram_data_point_seen = False
433432
434- self .assertTrue (len (metrics_list .resource_metrics ) != 0 )
435- for resource_metric in metrics_list .resource_metrics :
436- self .assertTrue (len (resource_metric .scope_metrics ) != 0 )
437- for scope_metric in resource_metric .scope_metrics :
438- self .assertTrue (len (scope_metric .metrics ) != 0 )
439- for metric in scope_metric .metrics :
440- self .assertIn (metric .name , _expected_metric_names_old )
441- data_points = list (metric .data .data_points )
442- self .assertEqual (len (data_points ), 1 )
443- for point in data_points :
444- if isinstance (point , HistogramDataPoint ):
445- self .assertEqual (point .count , 3 )
446- histogram_data_point_seen = True
447- if isinstance (point , NumberDataPoint ):
448- number_data_point_seen = True
449- for attr in point .attributes :
450- self .assertIn (
451- attr ,
452- _recommended_metrics_attrs_old [metric .name ],
453- )
433+ metrics = self .get_sorted_metrics ()
434+ self .assertTrue (len (metrics ) > 0 )
435+ for metric in metrics :
436+ self .assertIn (metric .name , _expected_metric_names_old )
437+ data_points = list (metric .data .data_points )
438+ self .assertEqual (len (data_points ), 1 )
439+ for point in data_points :
440+ if isinstance (point , HistogramDataPoint ):
441+ self .assertEqual (point .count , 3 )
442+ histogram_data_point_seen = True
443+ if isinstance (point , NumberDataPoint ):
444+ number_data_point_seen = True
445+ for attr in point .attributes :
446+ self .assertIn (
447+ attr ,
448+ _recommended_metrics_attrs_old [metric .name ],
449+ )
454450 self .assertTrue (number_data_point_seen and histogram_data_point_seen )
455451
456452 def test_wsgi_metrics_exemplars_expected_old_semconv (self ): # type: ignore[func-returns-value]
@@ -495,79 +491,67 @@ def test_wsgi_metrics_new_semconv(self):
495491 self .assertRaises (ValueError , app , self .environ , self .start_response )
496492 self .assertRaises (ValueError , app , self .environ , self .start_response )
497493 self .assertRaises (ValueError , app , self .environ , self .start_response )
498- metrics_list = self .memory_metrics_reader .get_metrics_data ()
499494 number_data_point_seen = False
500495 histogram_data_point_seen = False
501496
502- self .assertTrue (len (metrics_list .resource_metrics ) != 0 )
503- for resource_metric in metrics_list .resource_metrics :
504- self .assertTrue (len (resource_metric .scope_metrics ) != 0 )
505- for scope_metric in resource_metric .scope_metrics :
506- self .assertTrue (len (scope_metric .metrics ) != 0 )
507- for metric in scope_metric .metrics :
508- self .assertIn (metric .name , _expected_metric_names_new )
509- data_points = list (metric .data .data_points )
510- self .assertEqual (len (data_points ), 1 )
511- for point in data_points :
512- if isinstance (point , HistogramDataPoint ):
513- self .assertEqual (point .count , 3 )
514- if metric .name == "http.server.request.duration" :
515- self .assertEqual (
516- point .explicit_bounds ,
517- HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
518- )
519- histogram_data_point_seen = True
520- if isinstance (point , NumberDataPoint ):
521- number_data_point_seen = True
522- for attr in point .attributes :
523- self .assertIn (
524- attr ,
525- _recommended_metrics_attrs_new [metric .name ],
526- )
497+ metrics = self .get_sorted_metrics ()
498+ self .assertTrue (len (metrics ) != 0 )
499+ for metric in metrics :
500+ self .assertIn (metric .name , _expected_metric_names_new )
501+ data_points = list (metric .data .data_points )
502+ self .assertEqual (len (data_points ), 1 )
503+ for point in data_points :
504+ if isinstance (point , HistogramDataPoint ):
505+ self .assertEqual (point .count , 3 )
506+ if metric .name == "http.server.request.duration" :
507+ self .assertEqual (
508+ point .explicit_bounds ,
509+ HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
510+ )
511+ histogram_data_point_seen = True
512+ if isinstance (point , NumberDataPoint ):
513+ number_data_point_seen = True
514+ for attr in point .attributes :
515+ self .assertIn (
516+ attr ,
517+ _recommended_metrics_attrs_new [metric .name ],
518+ )
527519 self .assertTrue (number_data_point_seen and histogram_data_point_seen )
528520
529521 def test_wsgi_metrics_both_semconv (self ):
530522 # pylint: disable=too-many-nested-blocks
531523 app = otel_wsgi .OpenTelemetryMiddleware (error_wsgi_unhandled )
532524 self .assertRaises (ValueError , app , self .environ , self .start_response )
533- metrics_list = self .memory_metrics_reader .get_metrics_data ()
534525 number_data_point_seen = False
535526 histogram_data_point_seen = False
536527
537- self .assertTrue (len (metrics_list .resource_metrics ) != 0 )
538- for resource_metric in metrics_list .resource_metrics :
539- self .assertTrue (len (resource_metric .scope_metrics ) != 0 )
540- for scope_metric in resource_metric .scope_metrics :
541- self .assertTrue (len (scope_metric .metrics ) != 0 )
542- for metric in scope_metric .metrics :
543- if metric .unit == "ms" :
544- self .assertEqual (metric .name , "http.server.duration" )
545- elif metric .unit == "s" :
546- self .assertEqual (
547- metric .name , "http.server.request.duration"
548- )
549- else :
528+ metrics = self .get_sorted_metrics ()
529+ self .assertTrue (len (metrics ) != 0 )
530+ for metric in metrics :
531+ if metric .unit == "ms" :
532+ self .assertEqual (metric .name , "http.server.duration" )
533+ elif metric .unit == "s" :
534+ self .assertEqual (metric .name , "http.server.request.duration" )
535+ else :
536+ self .assertEqual (metric .name , "http.server.active_requests" )
537+ data_points = list (metric .data .data_points )
538+ self .assertEqual (len (data_points ), 1 )
539+ for point in data_points :
540+ if isinstance (point , HistogramDataPoint ):
541+ self .assertEqual (point .count , 1 )
542+ if metric .name == "http.server.request.duration" :
550543 self .assertEqual (
551- metric .name , "http.server.active_requests"
544+ point .explicit_bounds ,
545+ HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
552546 )
553- data_points = list (metric .data .data_points )
554- self .assertEqual (len (data_points ), 1 )
555- for point in data_points :
556- if isinstance (point , HistogramDataPoint ):
557- self .assertEqual (point .count , 1 )
558- if metric .name == "http.server.request.duration" :
559- self .assertEqual (
560- point .explicit_bounds ,
561- HTTP_DURATION_HISTOGRAM_BUCKETS_NEW ,
562- )
563- histogram_data_point_seen = True
564- if isinstance (point , NumberDataPoint ):
565- number_data_point_seen = True
566- for attr in point .attributes :
567- self .assertIn (
568- attr ,
569- _recommended_metrics_attrs_both [metric .name ],
570- )
547+ histogram_data_point_seen = True
548+ if isinstance (point , NumberDataPoint ):
549+ number_data_point_seen = True
550+ for attr in point .attributes :
551+ self .assertIn (
552+ attr ,
553+ _recommended_metrics_attrs_both [metric .name ],
554+ )
571555 self .assertTrue (number_data_point_seen and histogram_data_point_seen )
572556
573557 def test_nonstandard_http_method (self ):
0 commit comments