Skip to content

Commit b447b28

Browse files
authored
Merge branch 'main' into herin049
2 parents c94a362 + 16f7be0 commit b447b28

7 files changed

Lines changed: 107 additions & 120 deletions

File tree

instrumentation/opentelemetry-instrumentation-aiohttp-client/tests/test_aiohttp_client_integration.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ async def do_request():
9191
return loop.run_until_complete(do_request())
9292

9393

94+
SCOPE = "opentelemetry.instrumentation.aiohttp_client"
95+
96+
9497
# pylint: disable=too-many-public-methods
9598
class TestAioHttpIntegration(TestBase):
9699
_test_status_codes = (
@@ -122,7 +125,7 @@ def _assert_spans(self, spans, num_spans=1):
122125
)
123126

124127
def _assert_metrics(self, num_metrics: int = 1):
125-
metrics = self.get_sorted_metrics()
128+
metrics = self.get_sorted_metrics(SCOPE)
126129
self.assertEqual(len(metrics), num_metrics)
127130
return metrics
128131

@@ -1312,7 +1315,7 @@ def _assert_spans(self, num_spans: int):
13121315
return finished_spans
13131316

13141317
def _assert_metrics(self, num_metrics: int = 1):
1315-
metrics = self.get_sorted_metrics()
1318+
metrics = self.get_sorted_metrics(SCOPE)
13161319
self.assertEqual(len(metrics), num_metrics)
13171320
return metrics
13181321

instrumentation/opentelemetry-instrumentation-flask/tests/test_flask_compatibility.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -302,10 +302,12 @@ def generate():
302302
"Flask 3.1+ streaming context cleanup only enabled on Python 3.10+",
303303
)
304304
@skipIf(
305-
lambda: not __import__(
306-
"opentelemetry.instrumentation.flask",
307-
fromlist=["_IS_FLASK_31_PLUS"],
308-
)._IS_FLASK_31_PLUS,
305+
lambda: (
306+
not __import__(
307+
"opentelemetry.instrumentation.flask",
308+
fromlist=["_IS_FLASK_31_PLUS"],
309+
)._IS_FLASK_31_PLUS
310+
),
309311
"Flask 3.1+ streaming context cleanup requires Flask 3.1+",
310312
)
311313
def test_flask_31_streaming_context_cleanup(self):

instrumentation/opentelemetry-instrumentation-httpx/tests/test_httpx_integration.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ async def _async_no_update_request_hook(span: "Span", request: "RequestInfo"):
142142

143143
# pylint: disable=too-many-public-methods
144144

145+
SCOPE = "opentelemetry.instrumentation.httpx"
146+
145147

146148
# Using this wrapper class to have a base class for the tests while also not
147149
# angering pylint or mypy when calling methods not in the class when only
@@ -205,7 +207,7 @@ def assert_span(
205207
return span_list
206208

207209
def assert_metrics(self, num_metrics: int = 1):
208-
metrics = self.get_sorted_metrics()
210+
metrics = self.get_sorted_metrics(SCOPE)
209211
self.assertEqual(len(metrics), num_metrics)
210212
return metrics
211213

@@ -244,7 +246,7 @@ def test_basic(self):
244246

245247
def test_basic_metrics(self):
246248
self.perform_request(self.URL)
247-
metrics = self.get_sorted_metrics()
249+
metrics = self.get_sorted_metrics(SCOPE)
248250
self.assertEqual(len(metrics), 1)
249251
duration_data_point = metrics[0].data.data_points[0]
250252
self.assertEqual(duration_data_point.count, 1)
@@ -289,7 +291,7 @@ def test_nonstandard_http_method(self):
289291
span, opentelemetry.instrumentation.httpx
290292
)
291293
# Validate metrics
292-
metrics = self.get_sorted_metrics()
294+
metrics = self.get_sorted_metrics(SCOPE)
293295
self.assertEqual(len(metrics), 1)
294296
duration_data_point = metrics[0].data.data_points[0]
295297
self.assertEqual(duration_data_point.count, 1)
@@ -331,7 +333,7 @@ def test_nonstandard_http_method_new_semconv(self):
331333
span, opentelemetry.instrumentation.httpx
332334
)
333335
# Validate metrics
334-
metrics = self.get_sorted_metrics()
336+
metrics = self.get_sorted_metrics(SCOPE)
335337
self.assertEqual(len(metrics), 1)
336338
duration_data_point = metrics[0].data.data_points[0]
337339
self.assertEqual(duration_data_point.count, 1)
@@ -391,7 +393,7 @@ def test_basic_new_semconv(self):
391393
)
392394

393395
# Validate metrics
394-
metrics = self.get_sorted_metrics()
396+
metrics = self.get_sorted_metrics(SCOPE)
395397
self.assertEqual(len(metrics), 1)
396398
duration_data_point = metrics[0].data.data_points[0]
397399
self.assertEqual(duration_data_point.count, 1)
@@ -448,7 +450,7 @@ def test_basic_both_semconv(self):
448450
)
449451

450452
# Validate metrics
451-
metrics = self.get_sorted_metrics()
453+
metrics = self.get_sorted_metrics(SCOPE)
452454
self.assertEqual(len(metrics), 2)
453455
# Old convention
454456
self.assertEqual(
@@ -497,7 +499,7 @@ def test_not_foundbasic(self):
497499
trace.StatusCode.ERROR,
498500
)
499501
# Validate metrics
500-
metrics = self.get_sorted_metrics()
502+
metrics = self.get_sorted_metrics(SCOPE)
501503
self.assertEqual(len(metrics), 1)
502504
duration_data_point = metrics[0].data.data_points[0]
503505
self.assertEqual(
@@ -525,7 +527,7 @@ def test_not_foundbasic_new_semconv(self):
525527
trace.StatusCode.ERROR,
526528
)
527529
# Validate metrics
528-
metrics = self.get_sorted_metrics()
530+
metrics = self.get_sorted_metrics(SCOPE)
529531
self.assertEqual(len(metrics), 1)
530532
duration_data_point = metrics[0].data.data_points[0]
531533
self.assertEqual(
@@ -556,7 +558,7 @@ def test_not_foundbasic_both_semconv(self):
556558
trace.StatusCode.ERROR,
557559
)
558560
# Validate metrics
559-
metrics = self.get_sorted_metrics()
561+
metrics = self.get_sorted_metrics(SCOPE)
560562
self.assertEqual(len(metrics), 2)
561563
# Old convention
562564
self.assertEqual(

instrumentation/opentelemetry-instrumentation-pyramid/tests/test_automatic.py

Lines changed: 30 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,8 @@ def test_basic_metric_success(self):
264264
"http.flavor": "1.1",
265265
"http.server_name": "localhost",
266266
}
267-
metrics_list = self.memory_metrics_reader.get_metrics_data()
268-
for metric in (
269-
metrics_list.resource_metrics[0].scope_metrics[0].metrics
270-
):
267+
metrics = self.get_sorted_metrics(SCOPE)
268+
for metric in metrics:
271269
for point in list(metric.data.data_points):
272270
if isinstance(point, HistogramDataPoint):
273271
self.assertDictEqual(
@@ -289,10 +287,8 @@ def test_metric_uninstrument(self):
289287
self.config = Configurator()
290288
self._common_initialization(self.config)
291289
self.client.get("/hello/756")
292-
metrics_list = self.memory_metrics_reader.get_metrics_data()
293-
for metric in (
294-
metrics_list.resource_metrics[0].scope_metrics[0].metrics
295-
):
290+
metrics = self.get_sorted_metrics(SCOPE)
291+
for metric in metrics:
296292
for point in list(metric.data.data_points):
297293
if isinstance(point, HistogramDataPoint):
298294
self.assertEqual(point.count, 1)
@@ -471,17 +467,15 @@ def tearDown(self):
471467
PyramidInstrumentor().uninstrument()
472468

473469
def _verify_metric_names(
474-
self, metrics_list, expected_names, not_expected_names=None
470+
self, metrics, expected_names, not_expected_names=None
475471
):
476472
metric_names = []
477-
for resource_metric in metrics_list.resource_metrics:
478-
for scope_metric in resource_metric.scope_metrics:
479-
for metric in scope_metric.metrics:
480-
metric_names.append(metric.name)
481-
if expected_names:
482-
self.assertIn(metric.name, expected_names)
483-
if not_expected_names:
484-
self.assertNotIn(metric.name, not_expected_names)
473+
for metric in metrics:
474+
metric_names.append(metric.name)
475+
if expected_names:
476+
self.assertIn(metric.name, expected_names)
477+
if not_expected_names:
478+
self.assertNotIn(metric.name, not_expected_names)
485479
return metric_names
486480

487481
def _verify_duration_point(self, point):
@@ -496,11 +490,9 @@ def _verify_metric_duration(self, metric):
496490
if isinstance(point, HistogramDataPoint):
497491
self._verify_duration_point(point)
498492

499-
def _verify_duration_attributes(self, metrics_list):
500-
for resource_metric in metrics_list.resource_metrics:
501-
for scope_metric in resource_metric.scope_metrics:
502-
for metric in scope_metric.metrics:
503-
self._verify_metric_duration(metric)
493+
def _verify_duration_attributes(self, metrics):
494+
for metric in metrics:
495+
self._verify_metric_duration(metric)
504496

505497

506498
class TestSemConvDefault(_SemConvTestBase):
@@ -537,27 +529,23 @@ def test_basic_old_semconv(self):
537529
def test_metrics_old_semconv(self):
538530
self.client.get("/hello/123")
539531

540-
metrics_list = self.memory_metrics_reader.get_metrics_data()
541-
self.assertTrue(len(metrics_list.resource_metrics) == 1)
532+
metrics = self.get_sorted_metrics(SCOPE)
533+
self.assertEqual(len(metrics), 2)
542534

543535
expected_metrics = [
544536
HTTP_SERVER_ACTIVE_REQUESTS,
545537
MetricInstruments.HTTP_SERVER_DURATION,
546538
]
547539
self._verify_metric_names(
548-
metrics_list, expected_metrics, [HTTP_SERVER_REQUEST_DURATION]
540+
metrics, expected_metrics, [HTTP_SERVER_REQUEST_DURATION]
549541
)
550542

551-
for resource_metric in metrics_list.resource_metrics:
552-
for scope_metric in resource_metric.scope_metrics:
553-
for metric in scope_metric.metrics:
554-
for point in metric.data.data_points:
555-
if isinstance(point, HistogramDataPoint):
556-
self.assertIn("http.method", point.attributes)
557-
self.assertIn("http.scheme", point.attributes)
558-
self.assertNotIn(
559-
HTTP_REQUEST_METHOD, point.attributes
560-
)
543+
for metric in metrics:
544+
for point in metric.data.data_points:
545+
if isinstance(point, HistogramDataPoint):
546+
self.assertIn("http.method", point.attributes)
547+
self.assertIn("http.scheme", point.attributes)
548+
self.assertNotIn(HTTP_REQUEST_METHOD, point.attributes)
561549

562550

563551
class TestSemConvNew(_SemConvTestBase):
@@ -603,21 +591,19 @@ def test_basic_new_semconv(self):
603591

604592
def test_metrics_new_semconv(self):
605593
self.client.get("/hello/456")
606-
metrics_list = self.memory_metrics_reader.get_metrics_data()
607-
self.assertTrue(len(metrics_list.resource_metrics) == 1)
594+
metrics = self.get_sorted_metrics(SCOPE)
595+
self.assertEqual(len(metrics), 2)
608596

609597
expected_metrics = [
610598
HTTP_SERVER_REQUEST_DURATION,
611599
HTTP_SERVER_ACTIVE_REQUESTS,
612600
]
613-
metric_names = self._verify_metric_names(
614-
metrics_list, expected_metrics
615-
)
601+
metric_names = self._verify_metric_names(metrics, expected_metrics)
616602

617603
self.assertIn(HTTP_SERVER_REQUEST_DURATION, metric_names)
618604
self.assertIn(HTTP_SERVER_ACTIVE_REQUESTS, metric_names)
619605

620-
self._verify_duration_attributes(metrics_list)
606+
self._verify_duration_attributes(metrics)
621607

622608

623609
class TestSemConvDup(_SemConvTestBase):
@@ -658,15 +644,15 @@ def test_basic_both_semconv(self):
658644
def test_metrics_both_semconv(self):
659645
self.client.get("/hello/789")
660646

661-
metrics_list = self.memory_metrics_reader.get_metrics_data()
662-
self.assertTrue(len(metrics_list.resource_metrics) == 1)
647+
metrics = self.get_sorted_metrics(SCOPE)
648+
self.assertEqual(len(metrics), 3)
663649

664650
expected_metrics = [
665651
MetricInstruments.HTTP_SERVER_DURATION,
666652
HTTP_SERVER_REQUEST_DURATION,
667653
HTTP_SERVER_ACTIVE_REQUESTS,
668654
]
669-
metric_names = self._verify_metric_names(metrics_list, None)
655+
metric_names = self._verify_metric_names(metrics, None)
670656

671657
for metric_name in expected_metrics:
672658
self.assertIn(metric_name, metric_names)

instrumentation/opentelemetry-instrumentation-sqlalchemy/tests/test_sqlalchemy_metrics.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor
1919
from opentelemetry.test.test_base import TestBase
2020

21+
SCOPE = "opentelemetry.instrumentation.sqlalchemy"
22+
2123

2224
class TestSqlalchemyMetricsInstrumentation(TestBase):
2325
def setUp(self):
@@ -31,7 +33,7 @@ def tearDown(self):
3133
SQLAlchemyInstrumentor().uninstrument()
3234

3335
def assert_pool_idle_used_expected(self, pool_name, idle, used):
34-
metrics = self.get_sorted_metrics()
36+
metrics = self.get_sorted_metrics(SCOPE)
3537
self.assertEqual(len(metrics), 1)
3638
self.assert_metric_expected(
3739
metrics[0],
@@ -56,7 +58,7 @@ def test_metrics_one_connection(self):
5658
pool_logging_name=pool_name,
5759
)
5860

59-
self.assertIsNone(self.memory_metrics_reader.get_metrics_data())
61+
self.assertEqual(len(self.get_sorted_metrics(SCOPE)), 0)
6062

6163
with engine.connect():
6264
self.assert_pool_idle_used_expected(
@@ -77,7 +79,7 @@ def test_metrics_without_pool_name(self):
7779
pool_logging_name=pool_name,
7880
)
7981

80-
self.assertIsNone(self.memory_metrics_reader.get_metrics_data())
82+
self.assertEqual(len(self.get_sorted_metrics(SCOPE)), 0)
8183

8284
with engine.connect():
8385
self.assert_pool_idle_used_expected(
@@ -98,7 +100,7 @@ def test_metrics_two_connections(self):
98100
pool_logging_name=pool_name,
99101
)
100102

101-
self.assertIsNone(self.memory_metrics_reader.get_metrics_data())
103+
self.assertEqual(len(self.get_sorted_metrics(SCOPE)), 0)
102104

103105
with engine.connect():
104106
with engine.connect():
@@ -119,7 +121,7 @@ def test_metrics_connections(self):
119121
pool_logging_name=pool_name,
120122
)
121123

122-
self.assertIsNone(self.memory_metrics_reader.get_metrics_data())
124+
self.assertEqual(len(self.get_sorted_metrics(SCOPE)), 0)
123125

124126
with engine.connect():
125127
with engine.connect():
@@ -152,4 +154,4 @@ def test_metric_uninstrument(self):
152154

153155
engine.connect()
154156

155-
self.assertIsNone(self.memory_metrics_reader.get_metrics_data())
157+
self.assertEqual(len(self.get_sorted_metrics(SCOPE)), 0)

0 commit comments

Comments
 (0)