Skip to content

Commit f211828

Browse files
IAmPrajnaxrmx
andauthored
requests: migrate from SpanAttributes (#3493)
* ref: migrate from SpanAttributes * B reverted to SpanAttributes for the SCHEMA_URL * replace SpanAttributes.SCHEMA_URL * sort imports --------- Co-authored-by: Riccardo Magliocchetti <[email protected]>
1 parent ec73158 commit f211828

File tree

1 file changed

+60
-49
lines changed

1 file changed

+60
-49
lines changed

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

Lines changed: 60 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@
3535
)
3636
from opentelemetry.propagate import get_global_textmap, set_global_textmap
3737
from opentelemetry.sdk import resources
38+
from opentelemetry.semconv._incubating.attributes.http_attributes import (
39+
HTTP_FLAVOR,
40+
HTTP_HOST,
41+
HTTP_METHOD,
42+
HTTP_SCHEME,
43+
HTTP_STATUS_CODE,
44+
HTTP_URL,
45+
)
46+
from opentelemetry.semconv._incubating.attributes.net_attributes import (
47+
NET_PEER_NAME,
48+
NET_PEER_PORT,
49+
)
3850
from opentelemetry.semconv.attributes.error_attributes import ERROR_TYPE
3951
from opentelemetry.semconv.attributes.http_attributes import (
4052
HTTP_REQUEST_METHOD,
@@ -51,7 +63,6 @@
5163
SERVER_PORT,
5264
)
5365
from opentelemetry.semconv.attributes.url_attributes import URL_FULL
54-
from opentelemetry.semconv.trace import SpanAttributes
5566
from opentelemetry.test.mock_textmap import MockTextMapPropagator
5667
from opentelemetry.test.test_base import TestBase
5768
from opentelemetry.trace import StatusCode
@@ -161,9 +172,9 @@ def test_basic(self):
161172
self.assertEqual(
162173
span.attributes,
163174
{
164-
SpanAttributes.HTTP_METHOD: "GET",
165-
SpanAttributes.HTTP_URL: self.URL,
166-
SpanAttributes.HTTP_STATUS_CODE: 200,
175+
HTTP_METHOD: "GET",
176+
HTTP_URL: self.URL,
177+
HTTP_STATUS_CODE: 200,
167178
},
168179
)
169180

@@ -187,7 +198,7 @@ def test_basic_new_semconv(self):
187198

188199
self.assertEqual(
189200
span.instrumentation_scope.schema_url,
190-
SpanAttributes.SCHEMA_URL,
201+
"https://opentelemetry.io/schemas/1.21.0",
191202
)
192203
self.assertEqual(
193204
span.attributes,
@@ -223,22 +234,22 @@ def test_basic_both_semconv(self):
223234

224235
self.assertEqual(
225236
span.instrumentation_scope.schema_url,
226-
SpanAttributes.SCHEMA_URL,
237+
"https://opentelemetry.io/schemas/1.21.0",
227238
)
228239
self.assertEqual(
229240
span.attributes,
230241
{
231-
SpanAttributes.HTTP_METHOD: "GET",
242+
HTTP_METHOD: "GET",
232243
HTTP_REQUEST_METHOD: "GET",
233-
SpanAttributes.HTTP_URL: url_with_port,
244+
HTTP_URL: url_with_port,
234245
URL_FULL: url_with_port,
235-
SpanAttributes.HTTP_HOST: "mock",
246+
HTTP_HOST: "mock",
236247
SERVER_ADDRESS: "mock",
237248
NETWORK_PEER_ADDRESS: "mock",
238-
SpanAttributes.NET_PEER_PORT: 80,
239-
SpanAttributes.HTTP_STATUS_CODE: 200,
249+
NET_PEER_PORT: 80,
250+
HTTP_STATUS_CODE: 200,
240251
HTTP_RESPONSE_STATUS_CODE: 200,
241-
SpanAttributes.HTTP_FLAVOR: "1.1",
252+
HTTP_FLAVOR: "1.1",
242253
NETWORK_PROTOCOL_VERSION: "1.1",
243254
SERVER_PORT: 80,
244255
NETWORK_PEER_PORT: 80,
@@ -262,9 +273,9 @@ def test_nonstandard_http_method(self):
262273
self.assertEqual(
263274
span.attributes,
264275
{
265-
SpanAttributes.HTTP_METHOD: "_OTHER",
266-
SpanAttributes.HTTP_URL: self.URL,
267-
SpanAttributes.HTTP_STATUS_CODE: 405,
276+
HTTP_METHOD: "_OTHER",
277+
HTTP_URL: self.URL,
278+
HTTP_STATUS_CODE: 405,
268279
},
269280
)
270281

@@ -366,7 +377,7 @@ def test_not_foundbasic(self):
366377
span = self.assert_span()
367378

368379
self.assertEqual(
369-
span.attributes.get(SpanAttributes.HTTP_STATUS_CODE), 404
380+
span.attributes.get(HTTP_STATUS_CODE), 404
370381
)
371382

372383
self.assertIs(
@@ -407,7 +418,7 @@ def test_not_foundbasic_both_semconv(self):
407418
span = self.assert_span()
408419

409420
self.assertEqual(
410-
span.attributes.get(SpanAttributes.HTTP_STATUS_CODE), 404
421+
span.attributes.get(HTTP_STATUS_CODE), 404
411422
)
412423
self.assertEqual(span.attributes.get(HTTP_RESPONSE_STATUS_CODE), 404)
413424
self.assertEqual(span.attributes.get(ERROR_TYPE), "404")
@@ -523,9 +534,9 @@ def response_hook(
523534
self.assertEqual(
524535
span.attributes,
525536
{
526-
SpanAttributes.HTTP_METHOD: "GET",
527-
SpanAttributes.HTTP_URL: self.URL,
528-
SpanAttributes.HTTP_STATUS_CODE: 200,
537+
HTTP_METHOD: "GET",
538+
HTTP_URL: self.URL,
539+
HTTP_STATUS_CODE: 200,
529540
"http.response.body": "Hello!",
530541
},
531542
)
@@ -555,8 +566,8 @@ def test_requests_exception_without_response(self, *_, **__):
555566
self.assertEqual(
556567
span.attributes,
557568
{
558-
SpanAttributes.HTTP_METHOD: "GET",
559-
SpanAttributes.HTTP_URL: self.URL,
569+
HTTP_METHOD: "GET",
570+
HTTP_URL: self.URL,
560571
},
561572
)
562573
self.assertEqual(span.status.status_code, StatusCode.ERROR)
@@ -604,8 +615,8 @@ def test_requests_exception_without_proper_response_type(self, *_, **__):
604615
self.assertEqual(
605616
span.attributes,
606617
{
607-
SpanAttributes.HTTP_METHOD: "GET",
608-
SpanAttributes.HTTP_URL: self.URL,
618+
HTTP_METHOD: "GET",
619+
HTTP_URL: self.URL,
609620
},
610621
)
611622
self.assertEqual(span.status.status_code, StatusCode.ERROR)
@@ -626,9 +637,9 @@ def test_requests_exception_with_response(self, *_, **__):
626637
self.assertEqual(
627638
span.attributes,
628639
{
629-
SpanAttributes.HTTP_METHOD: "GET",
630-
SpanAttributes.HTTP_URL: self.URL,
631-
SpanAttributes.HTTP_STATUS_CODE: 500,
640+
HTTP_METHOD: "GET",
641+
HTTP_URL: self.URL,
642+
HTTP_STATUS_CODE: 500,
632643
},
633644
)
634645
self.assertEqual(span.status.status_code, StatusCode.ERROR)
@@ -684,7 +695,7 @@ def test_credential_removal(self):
684695
self.perform_request(new_url)
685696
span = self.assert_span()
686697

687-
self.assertEqual(span.attributes[SpanAttributes.HTTP_URL], self.URL)
698+
self.assertEqual(span.attributes[HTTP_URL], self.URL)
688699

689700
def test_if_headers_equals_none(self):
690701
result = requests.get(self.URL, headers=None, timeout=5)
@@ -745,13 +756,13 @@ def test_basic_metric_success(self):
745756
self.perform_request(self.URL)
746757

747758
expected_attributes = {
748-
SpanAttributes.HTTP_STATUS_CODE: 200,
749-
SpanAttributes.HTTP_HOST: "examplehost",
750-
SpanAttributes.NET_PEER_PORT: 8000,
751-
SpanAttributes.NET_PEER_NAME: "examplehost",
752-
SpanAttributes.HTTP_METHOD: "GET",
753-
SpanAttributes.HTTP_FLAVOR: "1.1",
754-
SpanAttributes.HTTP_SCHEME: "http",
759+
HTTP_STATUS_CODE: 200,
760+
HTTP_HOST: "examplehost",
761+
NET_PEER_PORT: 8000,
762+
NET_PEER_NAME: "examplehost",
763+
HTTP_METHOD: "GET",
764+
HTTP_FLAVOR: "1.1",
765+
HTTP_SCHEME: "http",
755766
}
756767

757768
for (
@@ -809,13 +820,13 @@ def test_basic_metric_both_semconv(self):
809820
self.perform_request(self.URL)
810821

811822
expected_attributes_old = {
812-
SpanAttributes.HTTP_STATUS_CODE: 200,
813-
SpanAttributes.HTTP_HOST: "examplehost",
814-
SpanAttributes.NET_PEER_PORT: 8000,
815-
SpanAttributes.NET_PEER_NAME: "examplehost",
816-
SpanAttributes.HTTP_METHOD: "GET",
817-
SpanAttributes.HTTP_FLAVOR: "1.1",
818-
SpanAttributes.HTTP_SCHEME: "http",
823+
HTTP_STATUS_CODE: 200,
824+
HTTP_HOST: "examplehost",
825+
NET_PEER_PORT: 8000,
826+
NET_PEER_NAME: "examplehost",
827+
HTTP_METHOD: "GET",
828+
HTTP_FLAVOR: "1.1",
829+
HTTP_SCHEME: "http",
819830
}
820831

821832
expected_attributes_new = {
@@ -879,13 +890,13 @@ def test_custom_histogram_boundaries_new_semconv(self):
879890

880891
def test_basic_metric_non_recording_span(self):
881892
expected_attributes = {
882-
SpanAttributes.HTTP_STATUS_CODE: 200,
883-
SpanAttributes.HTTP_HOST: "examplehost",
884-
SpanAttributes.NET_PEER_PORT: 8000,
885-
SpanAttributes.NET_PEER_NAME: "examplehost",
886-
SpanAttributes.HTTP_METHOD: "GET",
887-
SpanAttributes.HTTP_FLAVOR: "1.1",
888-
SpanAttributes.HTTP_SCHEME: "http",
893+
HTTP_STATUS_CODE: 200,
894+
HTTP_HOST: "examplehost",
895+
NET_PEER_PORT: 8000,
896+
NET_PEER_NAME: "examplehost",
897+
HTTP_METHOD: "GET",
898+
HTTP_FLAVOR: "1.1",
899+
HTTP_SCHEME: "http",
889900
}
890901

891902
with mock.patch("opentelemetry.trace.INVALID_SPAN") as mock_span:

0 commit comments

Comments
 (0)