Skip to content

Commit 6a1a74f

Browse files
authored
Pass scope to get_sorted_metrics (#4150)
* Pass scope to get_sorted_metrics * Lint
1 parent 1f64f15 commit 6a1a74f

File tree

11 files changed

+71
-78
lines changed

11 files changed

+71
-78
lines changed

instrumentation/opentelemetry-instrumentation-aiohttp-server/tests/test_aiohttp_server_integration.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ def __repr__(self):
9797
TRACE = "TRACE"
9898

9999

100+
SCOPE = "opentelemetry.instrumentation.aiohttp_server"
101+
102+
100103
@pytest.fixture(name="test_base", scope="function")
101104
def fixture_test_base():
102105
test_base = TestBase()
@@ -172,14 +175,14 @@ async def test_status_code_instrumentation(
172175
server, _ = server_fixture
173176

174177
assert len(test_base.get_finished_spans()) == 0
175-
metrics = test_base.get_sorted_metrics()
178+
metrics = test_base.get_sorted_metrics(SCOPE)
176179
assert len(metrics) == 0
177180

178181
client = await aiohttp_client(server)
179182
await client.get(url)
180183

181184
assert len(test_base.get_finished_spans()) == 1
182-
metrics = test_base.get_sorted_metrics()
185+
metrics = test_base.get_sorted_metrics(SCOPE)
183186
assert len(metrics) == 2
184187

185188
[span] = test_base.get_finished_spans()
@@ -327,7 +330,7 @@ async def handler(request):
327330
spans = test_base.get_finished_spans()
328331
assert len(spans) == 0
329332

330-
metrics = test_base.get_sorted_metrics()
333+
metrics = test_base.get_sorted_metrics(SCOPE)
331334
assert len(metrics) == 0
332335

333336
AioHttpServerInstrumentor().uninstrument()
@@ -545,7 +548,7 @@ async def test_semantic_conventions_metrics_old_default(
545548
assert NETWORK_PROTOCOL_VERSION not in span.attributes
546549
assert HTTP_RESPONSE_STATUS_CODE not in span.attributes
547550

548-
metrics = test_base.get_sorted_metrics()
551+
metrics = test_base.get_sorted_metrics(SCOPE)
549552
expected_metric_names = [
550553
"http.server.active_requests",
551554
"http.server.duration",
@@ -619,7 +622,7 @@ async def test_semantic_conventions_metrics_new(
619622
assert HTTP_FLAVOR not in span.attributes
620623
assert HTTP_STATUS_CODE not in span.attributes
621624

622-
metrics = test_base.get_sorted_metrics()
625+
metrics = test_base.get_sorted_metrics(SCOPE)
623626
expected_metric_names = [
624627
"http.server.active_requests",
625628
"http.server.request.duration",
@@ -701,7 +704,7 @@ async def test_semantic_conventions_metrics_both(
701704
assert span.attributes.get(HTTP_RESPONSE_STATUS_CODE) == 200
702705
assert span.attributes.get(HTTP_ROUTE) == "default_handler"
703706

704-
metrics = test_base.get_sorted_metrics()
707+
metrics = test_base.get_sorted_metrics(SCOPE)
705708
assert len(metrics) == 3 # Both duration metrics + active requests
706709
server_active_requests_count_attrs_both = list(
707710
_server_active_requests_count_attrs_old

instrumentation/opentelemetry-instrumentation-asyncio/tests/test_asyncio_future_cancellation.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
from opentelemetry.test.test_base import TestBase
99
from opentelemetry.trace import get_tracer
1010

11+
SCOPE = "opentelemetry.instrumentation.asyncio"
12+
1113

1214
class TestTraceFuture(TestBase):
1315
@patch.dict(
@@ -41,7 +43,7 @@ async def future_cancelled():
4143
self.assertEqual(spans[0].name, "root")
4244
self.assertEqual(spans[1].name, "asyncio future")
4345

44-
metrics = self.get_sorted_metrics()
46+
metrics = self.get_sorted_metrics(SCOPE)
4547
self.assertEqual(len(metrics), 2)
4648

4749
self.assertEqual(metrics[0].name, "asyncio.process.created")

instrumentation/opentelemetry-instrumentation-celery/tests/test_metrics.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
from .celery_test_tasks import app, task_add
1212

13+
SCOPE = "opentelemetry.instrumentation.celery"
14+
1315

1416
class TestMetrics(TestBase):
1517
def setUp(self):
@@ -34,7 +36,7 @@ def get_metrics(self):
3436
if time.time() > timeout:
3537
break
3638
time.sleep(0.05)
37-
return self.get_sorted_metrics()
39+
return self.get_sorted_metrics(SCOPE)
3840

3941
def test_basic_metric(self):
4042
CeleryInstrumentor().instrument()

instrumentation/opentelemetry-instrumentation-django/tests/test_middleware.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ def path(path_argument, *args, **kwargs):
9999
]
100100
_django_instrumentor = DjangoInstrumentor()
101101

102+
SCOPE = "opentelemetry.instrumentation.django"
103+
102104

103105
# pylint: disable=too-many-public-methods
104106
class TestMiddleware(WsgiTestBase):
@@ -737,7 +739,7 @@ def test_wsgi_metrics(self):
737739
response = Client().get("/span_name/1234/")
738740
self.assertEqual(response.status_code, 200)
739741
duration = max(round((default_timer() - start) * 1000), 0)
740-
metrics = self.get_sorted_metrics()
742+
metrics = self.get_sorted_metrics(SCOPE)
741743
number_data_point_seen = False
742744
histrogram_data_point_seen = False
743745

@@ -786,7 +788,7 @@ def test_wsgi_metrics_new_semconv(self):
786788
response = Client().get("/span_name/1234/")
787789
self.assertEqual(response.status_code, 200)
788790
duration_s = default_timer() - start
789-
metrics = self.get_sorted_metrics()
791+
metrics = self.get_sorted_metrics(SCOPE)
790792
number_data_point_seen = False
791793
histrogram_data_point_seen = False
792794

@@ -855,7 +857,7 @@ def test_wsgi_metrics_both_semconv(self):
855857
self.assertEqual(response.status_code, 200)
856858
duration_s = max(default_timer() - start, 0)
857859
duration = max(round(duration_s * 1000), 0)
858-
metrics = self.get_sorted_metrics()
860+
metrics = self.get_sorted_metrics(SCOPE)
859861
number_data_point_seen = False
860862
histrogram_data_point_seen = False
861863

@@ -901,7 +903,7 @@ def test_wsgi_metrics_unistrument(self):
901903
Client().get("/span_name/1234/")
902904
_django_instrumentor.uninstrument()
903905
Client().get("/span_name/1234/")
904-
metrics = self.get_sorted_metrics()
906+
metrics = self.get_sorted_metrics(SCOPE)
905907
for metric in metrics:
906908
for point in list(metric.data.data_points):
907909
if isinstance(point, HistogramDataPoint):

instrumentation/opentelemetry-instrumentation-falcon/tests/test_falcon.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
_parsed_falcon_version = package_version.parse(_falcon_version)
121121

122122

123+
SCOPE = "opentelemetry.instrumentation.falcon"
124+
125+
123126
class TestFalconBase(TestBase):
124127
def setUp(self):
125128
super().setUp()
@@ -487,7 +490,7 @@ def test_traced_not_recording(self):
487490
self.assertFalse(mock_span.set_attribute.called)
488491
self.assertFalse(mock_span.set_status.called)
489492

490-
metrics = self.get_sorted_metrics()
493+
metrics = self.get_sorted_metrics(SCOPE)
491494
self.assertTrue(len(metrics) != 0)
492495
for metric in metrics:
493496
data_points = list(metric.data.data_points)
@@ -519,7 +522,7 @@ def test_falcon_metrics(self):
519522
self.client().simulate_get("/hello/756")
520523
self.client().simulate_get("/hello/756")
521524
self.client().simulate_get("/hello/756")
522-
metrics = self.get_sorted_metrics()
525+
metrics = self.get_sorted_metrics(SCOPE)
523526
number_data_point_seen = False
524527
histogram_data_point_seen = False
525528
self.assertTrue(len(metrics) != 0)
@@ -545,7 +548,7 @@ def test_falcon_metric_values_new_semconv(self):
545548
self.client().simulate_get("/hello/756")
546549
duration = max(default_timer() - start, 0)
547550

548-
metrics = self.get_sorted_metrics()
551+
metrics = self.get_sorted_metrics(SCOPE)
549552
for metric in metrics:
550553
data_points = list(metric.data.data_points)
551554
self.assertEqual(len(data_points), 1)
@@ -577,7 +580,7 @@ def test_falcon_metric_values_both_semconv(self):
577580
self.client().simulate_get("/hello/756")
578581
duration_s = default_timer() - start
579582

580-
metrics = self.get_sorted_metrics()
583+
metrics = self.get_sorted_metrics(SCOPE)
581584

582585
# pylint: disable=too-many-nested-blocks
583586
for metric in metrics:
@@ -626,7 +629,7 @@ def test_falcon_metric_values(self):
626629
self.client().simulate_get("/hello/756")
627630
duration = max(round((default_timer() - start) * 1000), 0)
628631

629-
metrics = self.get_sorted_metrics()
632+
metrics = self.get_sorted_metrics(SCOPE)
630633
for metric in metrics:
631634
data_points = list(metric.data.data_points)
632635
self.assertEqual(len(data_points), 1)
@@ -650,7 +653,7 @@ def test_metric_uninstrument(self):
650653
self.client().simulate_request(method="POST", path="/hello/756")
651654
FalconInstrumentor().uninstrument()
652655
self.client().simulate_request(method="POST", path="/hello/756")
653-
metrics = self.get_sorted_metrics()
656+
metrics = self.get_sorted_metrics(SCOPE)
654657
for metric in metrics:
655658
for point in list(metric.data.data_points):
656659
if isinstance(point, HistogramDataPoint):

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ def expected_attributes_new(override_attributes):
146146
"http.server.request.duration": _server_duration_attrs_new_copy,
147147
}
148148

149+
SCOPE = "opentelemetry.instrumentation.flask"
150+
149151

150152
# pylint: disable=too-many-public-methods
151153
class TestProgrammatic(InstrumentationTest, WsgiTestBase):
@@ -497,7 +499,7 @@ def test_flask_metrics(self):
497499
self.client.get("/hello/321")
498500
self.client.get("/hello/756")
499501
duration = max(round((default_timer() - start) * 1000), 0)
500-
metrics = self.get_sorted_metrics()
502+
metrics = self.get_sorted_metrics(SCOPE)
501503
number_data_point_seen = False
502504
histogram_data_point_seen = False
503505
self.assertTrue(len(metrics) != 0)
@@ -525,7 +527,7 @@ def test_flask_metrics_new_semconv(self):
525527
self.client.get("/hello/321")
526528
self.client.get("/hello/756")
527529
duration_s = max(default_timer() - start, 0)
528-
metrics = self.get_sorted_metrics()
530+
metrics = self.get_sorted_metrics(SCOPE)
529531
number_data_point_seen = False
530532
histogram_data_point_seen = False
531533
self.assertTrue(len(metrics) != 0)
@@ -557,7 +559,7 @@ def test_flask_metric_values(self):
557559
self.client.post("/hello/756")
558560
self.client.post("/hello/756")
559561
duration = max(round((default_timer() - start) * 1000), 0)
560-
metrics = self.get_sorted_metrics()
562+
metrics = self.get_sorted_metrics(SCOPE)
561563
for metric in metrics:
562564
for point in list(metric.data.data_points):
563565
if isinstance(point, HistogramDataPoint):
@@ -573,7 +575,7 @@ def _assert_basic_metric(
573575
expected_histogram_explicit_bounds=None,
574576
):
575577
# pylint: disable=too-many-nested-blocks
576-
metrics = self.get_sorted_metrics()
578+
metrics = self.get_sorted_metrics(SCOPE)
577579
for metric in metrics:
578580
for point in list(metric.data.data_points):
579581
if isinstance(point, HistogramDataPoint):

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@
9292
MetricInstruments.HTTP_SERVER_DURATION: _server_duration_attrs_old,
9393
}
9494

95+
SCOPE = "opentelemetry.instrumentation.pyramid.callbacks"
96+
9597

9698
class TestAutomatic(InstrumentationTest, WsgiTestBase):
9799
def setUp(self):
@@ -223,7 +225,7 @@ def test_pyramid_metric(self):
223225
self.client.get("/hello/756")
224226
self.client.get("/hello/756")
225227
self.client.get("/hello/756")
226-
metrics = self.get_sorted_metrics()
228+
metrics = self.get_sorted_metrics(SCOPE)
227229
number_data_point_seen = False
228230
histogram_data_point_seen = False
229231
self.assertEqual(len(metrics), 2)

instrumentation/opentelemetry-instrumentation-requests/tests/test_requests_integration.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ def __init__(self):
102102
self.response = {}
103103

104104

105+
SCOPE = "opentelemetry.instrumentation.requests"
106+
107+
105108
class RequestsIntegrationTestBase(abc.ABC):
106109
# pylint: disable=no-member
107110
# pylint: disable=too-many-public-methods
@@ -1008,7 +1011,7 @@ def test_basic_metric_success(self):
10081011
HTTP_SCHEME: "http",
10091012
}
10101013

1011-
metrics = self.get_sorted_metrics()
1014+
metrics = self.get_sorted_metrics(SCOPE)
10121015
self.assertEqual(len(metrics), 1)
10131016
for metric in metrics:
10141017
self.assertEqual(metric.unit, "ms")
@@ -1036,7 +1039,7 @@ def test_basic_metric_new_semconv(self):
10361039
HTTP_REQUEST_METHOD: "GET",
10371040
NETWORK_PROTOCOL_VERSION: "1.1",
10381041
}
1039-
metrics = self.get_sorted_metrics()
1042+
metrics = self.get_sorted_metrics(SCOPE)
10401043
self.assertEqual(len(metrics), 1)
10411044
for metric in metrics:
10421045
self.assertEqual(metric.unit, "s")
@@ -1074,7 +1077,7 @@ def test_basic_metric_both_semconv(self):
10741077
NETWORK_PROTOCOL_VERSION: "1.1",
10751078
}
10761079

1077-
metrics = self.get_sorted_metrics()
1080+
metrics = self.get_sorted_metrics(SCOPE)
10781081
self.assertEqual(len(metrics), 2)
10791082
for metric in metrics:
10801083
for data_point in metric.data.data_points:
@@ -1145,7 +1148,7 @@ def test_basic_metric_non_recording_span(self):
11451148
self.assertTrue(mock_span.is_recording.called)
11461149
self.assertFalse(mock_span.set_attribute.called)
11471150
self.assertFalse(mock_span.set_status.called)
1148-
metrics = self.get_sorted_metrics()
1151+
metrics = self.get_sorted_metrics(SCOPE)
11491152
self.assertEqual(len(metrics), 1)
11501153
duration_data_point = metrics[0].data.data_points[0]
11511154
self.assertDictEqual(

instrumentation/opentelemetry-instrumentation-starlette/tests/test_starlette_instrumentation.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
"http.server.request.size": _duration_attrs,
6565
}
6666

67+
SCOPE = "opentelemetry.instrumentation.starlette"
68+
6769

6870
class TestStarletteManualInstrumentation(TestBase):
6971
def _create_app(self):
@@ -182,9 +184,7 @@ def test_starlette_metrics(self):
182184
self._client.get("/foobar")
183185
number_data_point_seen = False
184186
histogram_data_point_seen = False
185-
metrics = self.get_sorted_metrics(
186-
scope="opentelemetry.instrumentation.starlette"
187-
)
187+
metrics = self.get_sorted_metrics(SCOPE)
188188
self.assertTrue(len(metrics) == 3)
189189
for metric in metrics:
190190
self.assertIn(metric.name, _expected_metric_names)
@@ -225,9 +225,7 @@ def test_basic_post_request_metric_success(self):
225225
duration = max(round((default_timer() - start) * 1000), 0)
226226
response_size = int(response.headers.get("content-length"))
227227
request_size = int(response.request.headers.get("content-length"))
228-
metrics = self.get_sorted_metrics(
229-
scope="opentelemetry.instrumentation.starlette"
230-
)
228+
metrics = self.get_sorted_metrics(SCOPE)
231229
for metric in metrics:
232230
for point in list(metric.data.data_points):
233231
if isinstance(point, HistogramDataPoint):
@@ -254,9 +252,7 @@ def test_metric_for_uninstrment_app_method(self):
254252
self._instrumentor.uninstrument_app(self._app)
255253
self._client.get("/foobar")
256254
self._client.get("/foobar")
257-
metrics = self.get_sorted_metrics(
258-
scope="opentelemetry.instrumentation.starlette"
259-
)
255+
metrics = self.get_sorted_metrics(SCOPE)
260256
for metric in metrics:
261257
for point in list(metric.data.data_points):
262258
if isinstance(point, HistogramDataPoint):
@@ -275,9 +271,7 @@ def test_metric_uninstrument_inherited_by_base(self):
275271
client.get("/foobar")
276272
client.get("/foobar")
277273
client.get("/foobar")
278-
metrics = self.get_sorted_metrics(
279-
scope="opentelemetry.instrumentation.starlette"
280-
)
274+
metrics = self.get_sorted_metrics(SCOPE)
281275
for metric in metrics:
282276
for point in list(metric.data.data_points):
283277
if isinstance(point, HistogramDataPoint):

0 commit comments

Comments
 (0)