Skip to content

Commit ea03d20

Browse files
anuraagaxrmx
andauthored
urllib3: filter metrics for scope assertion (#4132)
* urllib3: filter metrics for scope assertion * Update test_urllib3_metrics.py * Update test_urllib3_metrics.py * Update test_urllib3_metrics.py --------- Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
1 parent dcb3316 commit ea03d20

File tree

1 file changed

+39
-12
lines changed

1 file changed

+39
-12
lines changed

instrumentation/opentelemetry-instrumentation-urllib3/tests/test_urllib3_metrics.py

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ def test_basic_metrics(self):
7373
start_time = default_timer()
7474
response = self.pool.request("GET", self.HTTP_URL)
7575
duration_ms = max(round((default_timer() - start_time) * 1000), 0)
76-
metrics = self.get_sorted_metrics()
76+
metrics = self.get_sorted_metrics(
77+
scope="opentelemetry.instrumentation.urllib3"
78+
)
7779
self.assertEqual(len(metrics), 3)
7880

7981
(
@@ -143,7 +145,9 @@ def test_basic_metrics_new_semconv(self):
143145
response = self.pool.request("GET", self.HTTP_URL)
144146
duration_s = max(default_timer() - start_time, 0)
145147

146-
metrics = self.get_sorted_metrics()
148+
metrics = self.get_sorted_metrics(
149+
scope="opentelemetry.instrumentation.urllib3"
150+
)
147151
self.assertEqual(len(metrics), 3)
148152
(
149153
client_request_size,
@@ -216,7 +220,9 @@ def test_basic_metrics_both_semconv(self):
216220
duration = max(round(duration_s * 1000), 0)
217221
expected_size = len(response.data)
218222

219-
metrics = self.get_sorted_metrics()
223+
metrics = self.get_sorted_metrics(
224+
scope="opentelemetry.instrumentation.urllib3"
225+
)
220226
self.assertEqual(len(metrics), 6)
221227

222228
(
@@ -353,7 +359,9 @@ def test_basic_metrics_nonstandard_http_method(self):
353359
response = self.pool.request("NONSTANDARD", self.HTTP_URL)
354360
duration_ms = max(round((default_timer() - start_time) * 1000), 0)
355361

356-
metrics = self.get_sorted_metrics()
362+
metrics = self.get_sorted_metrics(
363+
scope="opentelemetry.instrumentation.urllib3"
364+
)
357365

358366
(
359367
client_duration,
@@ -426,7 +434,9 @@ def test_basic_metrics_nonstandard_http_method_new_semconv(self):
426434
response = self.pool.request("NONSTANDARD", self.HTTP_URL)
427435
duration_s = max(default_timer() - start_time, 0)
428436

429-
metrics = self.get_sorted_metrics()
437+
metrics = self.get_sorted_metrics(
438+
scope="opentelemetry.instrumentation.urllib3"
439+
)
430440

431441
(
432442
client_request_size,
@@ -496,7 +506,9 @@ def test_basic_metrics_nonstandard_http_method_new_semconv(self):
496506
def test_str_request_body_size_metrics(self):
497507
self.pool.request("POST", self.HTTP_URL, body="foobar")
498508

499-
metrics = self.get_sorted_metrics()
509+
metrics = self.get_sorted_metrics(
510+
scope="opentelemetry.instrumentation.urllib3"
511+
)
500512
(_, client_request_size, _) = metrics
501513

502514
self.assertEqual(client_request_size.name, "http.client.request.size")
@@ -529,7 +541,12 @@ def test_schema_url(self):
529541
)
530542

531543
for metrics in resource_metrics:
532-
for scope_metrics in metrics.scope_metrics:
544+
scope_metrics_list = [
545+
sm
546+
for sm in metrics.scope_metrics
547+
if sm.scope.name == "opentelemetry.instrumentation.urllib3"
548+
]
549+
for scope_metrics in scope_metrics_list:
533550
self.assertEqual(
534551
scope_metrics.scope.schema_url,
535552
"https://opentelemetry.io/schemas/1.11.0",
@@ -538,7 +555,9 @@ def test_schema_url(self):
538555
def test_bytes_request_body_size_metrics(self):
539556
self.pool.request("POST", self.HTTP_URL, body=b"foobar")
540557

541-
metrics = self.get_sorted_metrics()
558+
metrics = self.get_sorted_metrics(
559+
scope="opentelemetry.instrumentation.urllib3"
560+
)
542561
(_, client_request_size, _) = metrics
543562

544563
self.assertEqual(client_request_size.name, "http.client.request.size")
@@ -566,7 +585,9 @@ def test_bytes_request_body_size_metrics(self):
566585
def test_fields_request_body_size_metrics(self):
567586
self.pool.request("POST", self.HTTP_URL, fields={"foo": "bar"})
568587

569-
metrics = self.get_sorted_metrics()
588+
metrics = self.get_sorted_metrics(
589+
scope="opentelemetry.instrumentation.urllib3"
590+
)
570591
(_, client_request_size, _) = metrics
571592

572593
self.assertEqual(client_request_size.name, "http.client.request.size")
@@ -595,7 +616,9 @@ def test_fields_request_body_size_metrics(self):
595616
def test_bytesio_request_body_size_metrics(self):
596617
self.pool.request("POST", self.HTTP_URL, body=io.BytesIO(b"foobar"))
597618

598-
metrics = self.get_sorted_metrics()
619+
metrics = self.get_sorted_metrics(
620+
scope="opentelemetry.instrumentation.urllib3"
621+
)
599622
(_, client_request_size, _) = metrics
600623

601624
self.assertEqual(client_request_size.name, "http.client.request.size")
@@ -625,7 +648,9 @@ def test_generator_request_body_size_metrics(self):
625648
"POST", self.HTTP_URL, body=(b for b in (b"foo", b"bar"))
626649
)
627650

628-
metrics = self.get_sorted_metrics()
651+
metrics = self.get_sorted_metrics(
652+
scope="opentelemetry.instrumentation.urllib3"
653+
)
629654
self.assertEqual(len(metrics), 2)
630655
self.assertNotIn("http.client.request.size", [m.name for m in metrics])
631656

@@ -634,7 +659,9 @@ def test_metric_uninstrument(self):
634659
URLLib3Instrumentor().uninstrument()
635660
self.pool.request("GET", self.HTTP_URL)
636661

637-
metrics = self.get_sorted_metrics()
662+
metrics = self.get_sorted_metrics(
663+
scope="opentelemetry.instrumentation.urllib3"
664+
)
638665
self.assertEqual(len(metrics), 3)
639666

640667
for metric in metrics:

0 commit comments

Comments
 (0)