35
35
)
36
36
from opentelemetry .propagate import get_global_textmap , set_global_textmap
37
37
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
+ )
38
50
from opentelemetry .semconv .attributes .error_attributes import ERROR_TYPE
39
51
from opentelemetry .semconv .attributes .http_attributes import (
40
52
HTTP_REQUEST_METHOD ,
51
63
SERVER_PORT ,
52
64
)
53
65
from opentelemetry .semconv .attributes .url_attributes import URL_FULL
54
- from opentelemetry .semconv .trace import SpanAttributes
55
66
from opentelemetry .test .mock_textmap import MockTextMapPropagator
56
67
from opentelemetry .test .test_base import TestBase
57
68
from opentelemetry .trace import StatusCode
@@ -161,9 +172,9 @@ def test_basic(self):
161
172
self .assertEqual (
162
173
span .attributes ,
163
174
{
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 ,
167
178
},
168
179
)
169
180
@@ -187,7 +198,7 @@ def test_basic_new_semconv(self):
187
198
188
199
self .assertEqual (
189
200
span .instrumentation_scope .schema_url ,
190
- SpanAttributes . SCHEMA_URL ,
201
+ "https://opentelemetry.io/schemas/1.21.0" ,
191
202
)
192
203
self .assertEqual (
193
204
span .attributes ,
@@ -223,22 +234,22 @@ def test_basic_both_semconv(self):
223
234
224
235
self .assertEqual (
225
236
span .instrumentation_scope .schema_url ,
226
- SpanAttributes . SCHEMA_URL ,
237
+ "https://opentelemetry.io/schemas/1.21.0" ,
227
238
)
228
239
self .assertEqual (
229
240
span .attributes ,
230
241
{
231
- SpanAttributes . HTTP_METHOD : "GET" ,
242
+ HTTP_METHOD : "GET" ,
232
243
HTTP_REQUEST_METHOD : "GET" ,
233
- SpanAttributes . HTTP_URL : url_with_port ,
244
+ HTTP_URL : url_with_port ,
234
245
URL_FULL : url_with_port ,
235
- SpanAttributes . HTTP_HOST : "mock" ,
246
+ HTTP_HOST : "mock" ,
236
247
SERVER_ADDRESS : "mock" ,
237
248
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 ,
240
251
HTTP_RESPONSE_STATUS_CODE : 200 ,
241
- SpanAttributes . HTTP_FLAVOR : "1.1" ,
252
+ HTTP_FLAVOR : "1.1" ,
242
253
NETWORK_PROTOCOL_VERSION : "1.1" ,
243
254
SERVER_PORT : 80 ,
244
255
NETWORK_PEER_PORT : 80 ,
@@ -262,9 +273,9 @@ def test_nonstandard_http_method(self):
262
273
self .assertEqual (
263
274
span .attributes ,
264
275
{
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 ,
268
279
},
269
280
)
270
281
@@ -366,7 +377,7 @@ def test_not_foundbasic(self):
366
377
span = self .assert_span ()
367
378
368
379
self .assertEqual (
369
- span .attributes .get (SpanAttributes . HTTP_STATUS_CODE ), 404
380
+ span .attributes .get (HTTP_STATUS_CODE ), 404
370
381
)
371
382
372
383
self .assertIs (
@@ -407,7 +418,7 @@ def test_not_foundbasic_both_semconv(self):
407
418
span = self .assert_span ()
408
419
409
420
self .assertEqual (
410
- span .attributes .get (SpanAttributes . HTTP_STATUS_CODE ), 404
421
+ span .attributes .get (HTTP_STATUS_CODE ), 404
411
422
)
412
423
self .assertEqual (span .attributes .get (HTTP_RESPONSE_STATUS_CODE ), 404 )
413
424
self .assertEqual (span .attributes .get (ERROR_TYPE ), "404" )
@@ -523,9 +534,9 @@ def response_hook(
523
534
self .assertEqual (
524
535
span .attributes ,
525
536
{
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 ,
529
540
"http.response.body" : "Hello!" ,
530
541
},
531
542
)
@@ -555,8 +566,8 @@ def test_requests_exception_without_response(self, *_, **__):
555
566
self .assertEqual (
556
567
span .attributes ,
557
568
{
558
- SpanAttributes . HTTP_METHOD : "GET" ,
559
- SpanAttributes . HTTP_URL : self .URL ,
569
+ HTTP_METHOD : "GET" ,
570
+ HTTP_URL : self .URL ,
560
571
},
561
572
)
562
573
self .assertEqual (span .status .status_code , StatusCode .ERROR )
@@ -604,8 +615,8 @@ def test_requests_exception_without_proper_response_type(self, *_, **__):
604
615
self .assertEqual (
605
616
span .attributes ,
606
617
{
607
- SpanAttributes . HTTP_METHOD : "GET" ,
608
- SpanAttributes . HTTP_URL : self .URL ,
618
+ HTTP_METHOD : "GET" ,
619
+ HTTP_URL : self .URL ,
609
620
},
610
621
)
611
622
self .assertEqual (span .status .status_code , StatusCode .ERROR )
@@ -626,9 +637,9 @@ def test_requests_exception_with_response(self, *_, **__):
626
637
self .assertEqual (
627
638
span .attributes ,
628
639
{
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 ,
632
643
},
633
644
)
634
645
self .assertEqual (span .status .status_code , StatusCode .ERROR )
@@ -684,7 +695,7 @@ def test_credential_removal(self):
684
695
self .perform_request (new_url )
685
696
span = self .assert_span ()
686
697
687
- self .assertEqual (span .attributes [SpanAttributes . HTTP_URL ], self .URL )
698
+ self .assertEqual (span .attributes [HTTP_URL ], self .URL )
688
699
689
700
def test_if_headers_equals_none (self ):
690
701
result = requests .get (self .URL , headers = None , timeout = 5 )
@@ -745,13 +756,13 @@ def test_basic_metric_success(self):
745
756
self .perform_request (self .URL )
746
757
747
758
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" ,
755
766
}
756
767
757
768
for (
@@ -809,13 +820,13 @@ def test_basic_metric_both_semconv(self):
809
820
self .perform_request (self .URL )
810
821
811
822
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" ,
819
830
}
820
831
821
832
expected_attributes_new = {
@@ -879,13 +890,13 @@ def test_custom_histogram_boundaries_new_semconv(self):
879
890
880
891
def test_basic_metric_non_recording_span (self ):
881
892
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" ,
889
900
}
890
901
891
902
with mock .patch ("opentelemetry.trace.INVALID_SPAN" ) as mock_span :
0 commit comments