2626 INVALID_TRACE_ID ,
2727)
2828
29+
2930class TestFunctionalFlask (TestBase ):
3031 def setUp (self ):
3132 super ().setUp ()
@@ -42,6 +43,7 @@ def setUp(self):
4243 metrics_api .set_meter_provider (self .meter_provider )
4344
4445 self ._app = Flask (__name__ )
46+
4547 @self ._app .route ("/test/" )
4648 def test_route ():
4749 return "Test response"
@@ -59,10 +61,10 @@ def tearDown(self):
5961
6062 def test_duration_metrics_exemplars (self ):
6163 """Should generate exemplars with trace and span IDs for Flask HTTP requests."""
62- self ._client .get ("/test/" )
6364 self ._client .get ("/test/" )
6465 self ._client .get ("/test/" )
65-
66+ self ._client .get ("/test/" )
67+
6668 metrics_data = self .memory_metrics_reader .get_metrics_data ()
6769 self .assertIsNotNone (metrics_data )
6870 self .assertTrue (len (metrics_data .resource_metrics ) > 0 )
@@ -73,21 +75,24 @@ def test_duration_metrics_exemplars(self):
7375 for scope_metric in resource_metric .scope_metrics :
7476 for metric in scope_metric .metrics :
7577 metric_names .append (metric .name )
76- if metric .name in ["http.server.request.duration" , "http.server.duration" ]:
78+ if metric .name in [
79+ "http.server.request.duration" ,
80+ "http.server.duration" ,
81+ ]:
7782 duration_metric = metric
7883 break
7984 if duration_metric :
8085 break
8186 if duration_metric :
8287 break
83-
84- self .assertIsNotNone (duration_metric )
88+
89+ self .assertIsNotNone (duration_metric )
8590 data_points = list (duration_metric .data .data_points )
8691 self .assertTrue (len (data_points ) > 0 )
8792
8893 exemplar_count = 0
8994 for data_point in data_points :
90- if hasattr (data_point , ' exemplars' ) and data_point .exemplars :
95+ if hasattr (data_point , " exemplars" ) and data_point .exemplars :
9196 for exemplar in data_point .exemplars :
9297 exemplar_count += 1
9398 # Exemplar has required fields and valid span context
@@ -97,13 +102,17 @@ def test_duration_metrics_exemplars(self):
97102 self .assertNotEqual (exemplar .span_id , INVALID_SPAN_ID )
98103 self .assertIsNotNone (exemplar .trace_id )
99104 self .assertNotEqual (exemplar .trace_id , INVALID_TRACE_ID )
100-
105+
101106 # Trace and span ID of exemplar are part of finished spans
102107 finished_spans = self .memory_exporter .get_finished_spans ()
103- finished_span_ids = [span .context .span_id for span in finished_spans ]
104- finished_trace_ids = [span .context .trace_id for span in finished_spans ]
108+ finished_span_ids = [
109+ span .context .span_id for span in finished_spans
110+ ]
111+ finished_trace_ids = [
112+ span .context .trace_id for span in finished_spans
113+ ]
105114 self .assertIn (exemplar .span_id , finished_span_ids )
106115 self .assertIn (exemplar .trace_id , finished_trace_ids )
107-
116+
108117 # At least one exemplar was generated
109118 self .assertGreater (exemplar_count , 0 )
0 commit comments