3636 AioHttpClientInstrumentor ,
3737)
3838from opentelemetry .instrumentation .utils import suppress_instrumentation
39+ from opentelemetry .semconv ._incubating .attributes .http_attributes import (
40+ HTTP_METHOD ,
41+ HTTP_STATUS_CODE ,
42+ HTTP_URL ,
43+ )
3944from opentelemetry .semconv .attributes .error_attributes import ERROR_TYPE
4045from opentelemetry .semconv .attributes .http_attributes import (
4146 HTTP_REQUEST_METHOD ,
4247 HTTP_REQUEST_METHOD_ORIGINAL ,
4348 HTTP_RESPONSE_STATUS_CODE ,
4449)
4550from opentelemetry .semconv .attributes .url_attributes import URL_FULL
46- from opentelemetry .semconv .trace import SpanAttributes
4751from opentelemetry .test .test_base import TestBase
4852from opentelemetry .trace import Span , StatusCode
4953from opentelemetry .util ._importlib_metadata import entry_points
@@ -136,9 +140,9 @@ def test_status_codes(self):
136140 )
137141 url = f"http://{ host } :{ port } /{ path } "
138142 attributes = {
139- SpanAttributes . HTTP_METHOD : "GET" ,
140- SpanAttributes . HTTP_URL : url ,
141- SpanAttributes . HTTP_STATUS_CODE : status_code ,
143+ HTTP_METHOD : "GET" ,
144+ HTTP_URL : url ,
145+ HTTP_STATUS_CODE : status_code ,
142146 }
143147 spans = [("GET" , (span_status , None ), attributes )]
144148 self .assert_spans (spans )
@@ -181,11 +185,11 @@ def test_status_codes_both_semconv(self):
181185 url = f"http://{ host } :{ port } /{ path } "
182186 attributes = {
183187 HTTP_REQUEST_METHOD : "GET" ,
184- SpanAttributes . HTTP_METHOD : "GET" ,
188+ HTTP_METHOD : "GET" ,
185189 URL_FULL : url ,
186- SpanAttributes . HTTP_URL : url ,
190+ HTTP_URL : url ,
187191 HTTP_RESPONSE_STATUS_CODE : status_code ,
188- SpanAttributes . HTTP_STATUS_CODE : status_code ,
192+ HTTP_STATUS_CODE : status_code ,
189193 }
190194 if status_code >= 400 :
191195 attributes [ERROR_TYPE ] = str (status_code .value )
@@ -292,16 +296,12 @@ def response_hook(
292296 (span .status .status_code , span .status .description ),
293297 (StatusCode .UNSET , None ),
294298 )
299+ self .assertEqual (span .attributes [HTTP_METHOD ], method )
295300 self .assertEqual (
296- span .attributes [SpanAttributes .HTTP_METHOD ], method
297- )
298- self .assertEqual (
299- span .attributes [SpanAttributes .HTTP_URL ],
301+ span .attributes [HTTP_URL ],
300302 f"http://{ host } :{ port } { path } " ,
301303 )
302- self .assertEqual (
303- span .attributes [SpanAttributes .HTTP_STATUS_CODE ], HTTPStatus .OK
304- )
304+ self .assertEqual (span .attributes [HTTP_STATUS_CODE ], HTTPStatus .OK )
305305 self .assertIn ("response_hook_attr" , span .attributes )
306306 self .assertEqual (span .attributes ["response_hook_attr" ], "value" )
307307 self .memory_exporter .clear ()
@@ -325,9 +325,9 @@ def strip_query_params(url: yarl.URL) -> str:
325325 "GET" ,
326326 (StatusCode .UNSET , None ),
327327 {
328- SpanAttributes . HTTP_METHOD : "GET" ,
329- SpanAttributes . HTTP_URL : f"http://{ host } :{ port } /some/path" ,
330- SpanAttributes . HTTP_STATUS_CODE : int (HTTPStatus .OK ),
328+ HTTP_METHOD : "GET" ,
329+ HTTP_URL : f"http://{ host } :{ port } /some/path" ,
330+ HTTP_STATUS_CODE : int (HTTPStatus .OK ),
331331 },
332332 )
333333 ]
@@ -359,8 +359,8 @@ async def do_request(url):
359359 "GET" ,
360360 (expected_status , "ClientConnectorError" ),
361361 {
362- SpanAttributes . HTTP_METHOD : "GET" ,
363- SpanAttributes . HTTP_URL : url ,
362+ HTTP_METHOD : "GET" ,
363+ HTTP_URL : url ,
364364 },
365365 )
366366 ]
@@ -385,8 +385,8 @@ async def request_handler(request):
385385 "GET" ,
386386 (StatusCode .ERROR , "ServerDisconnectedError" ),
387387 {
388- SpanAttributes . HTTP_METHOD : "GET" ,
389- SpanAttributes . HTTP_URL : f"http://{ host } :{ port } /test" ,
388+ HTTP_METHOD : "GET" ,
389+ HTTP_URL : f"http://{ host } :{ port } /test" ,
390390 },
391391 )
392392 ]
@@ -443,8 +443,8 @@ async def request_handler(request):
443443 HTTP_REQUEST_METHOD : "GET" ,
444444 URL_FULL : f"http://{ host } :{ port } /test" ,
445445 ERROR_TYPE : "ServerDisconnectedError" ,
446- SpanAttributes . HTTP_METHOD : "GET" ,
447- SpanAttributes . HTTP_URL : f"http://{ host } :{ port } /test" ,
446+ HTTP_METHOD : "GET" ,
447+ HTTP_URL : f"http://{ host } :{ port } /test" ,
448448 },
449449 )
450450 ]
@@ -469,8 +469,8 @@ async def request_handler(request):
469469 "GET" ,
470470 (StatusCode .ERROR , "SocketTimeoutError" ),
471471 {
472- SpanAttributes . HTTP_METHOD : "GET" ,
473- SpanAttributes . HTTP_URL : f"http://{ host } :{ port } /test_timeout" ,
472+ HTTP_METHOD : "GET" ,
473+ HTTP_URL : f"http://{ host } :{ port } /test_timeout" ,
474474 },
475475 )
476476 ]
@@ -496,8 +496,8 @@ async def request_handler(request):
496496 "GET" ,
497497 (StatusCode .ERROR , "TooManyRedirects" ),
498498 {
499- SpanAttributes . HTTP_METHOD : "GET" ,
500- SpanAttributes . HTTP_URL : f"http://{ host } :{ port } /test_too_many_redirects" ,
499+ HTTP_METHOD : "GET" ,
500+ HTTP_URL : f"http://{ host } :{ port } /test_too_many_redirects" ,
501501 },
502502 )
503503 ]
@@ -532,11 +532,9 @@ async def do_request(url):
532532 "HTTP" ,
533533 (StatusCode .ERROR , None ),
534534 {
535- SpanAttributes .HTTP_METHOD : "_OTHER" ,
536- SpanAttributes .HTTP_URL : url ,
537- SpanAttributes .HTTP_STATUS_CODE : int (
538- HTTPStatus .METHOD_NOT_ALLOWED
539- ),
535+ HTTP_METHOD : "_OTHER" ,
536+ HTTP_URL : url ,
537+ HTTP_STATUS_CODE : int (HTTPStatus .METHOD_NOT_ALLOWED ),
540538 },
541539 )
542540 ]
@@ -619,11 +617,9 @@ async def do_request(url):
619617 "GET" ,
620618 (StatusCode .UNSET , None ),
621619 {
622- SpanAttributes .HTTP_METHOD : "GET" ,
623- SpanAttributes .HTTP_URL : (
624- "http://localhost:5000/status/200"
625- ),
626- SpanAttributes .HTTP_STATUS_CODE : int (HTTPStatus .OK ),
620+ HTTP_METHOD : "GET" ,
621+ HTTP_URL : ("http://localhost:5000/status/200" ),
622+ HTTP_STATUS_CODE : int (HTTPStatus .OK ),
627623 },
628624 )
629625 ]
@@ -671,12 +667,12 @@ def test_instrument(self):
671667 )
672668 span = self .assert_spans (1 )
673669 self .assertEqual ("GET" , span .name )
674- self .assertEqual ("GET" , span .attributes [SpanAttributes . HTTP_METHOD ])
670+ self .assertEqual ("GET" , span .attributes [HTTP_METHOD ])
675671 self .assertEqual (
676672 f"http://{ host } :{ port } /test-path" ,
677- span .attributes [SpanAttributes . HTTP_URL ],
673+ span .attributes [HTTP_URL ],
678674 )
679- self .assertEqual (200 , span .attributes [SpanAttributes . HTTP_STATUS_CODE ])
675+ self .assertEqual (200 , span .attributes [HTTP_STATUS_CODE ])
680676
681677 def test_instrument_new_semconv (self ):
682678 AioHttpClientInstrumentor ().uninstrument ()
@@ -708,11 +704,11 @@ def test_instrument_both_semconv(self):
708704 url = f"http://{ host } :{ port } /test-path"
709705 attributes = {
710706 HTTP_REQUEST_METHOD : "GET" ,
711- SpanAttributes . HTTP_METHOD : "GET" ,
707+ HTTP_METHOD : "GET" ,
712708 URL_FULL : url ,
713- SpanAttributes . HTTP_URL : url ,
709+ HTTP_URL : url ,
714710 HTTP_RESPONSE_STATUS_CODE : 200 ,
715- SpanAttributes . HTTP_STATUS_CODE : 200 ,
711+ HTTP_STATUS_CODE : 200 ,
716712 }
717713 span = self .assert_spans (1 )
718714 self .assertEqual ("GET" , span .name )
@@ -852,7 +848,7 @@ def strip_query_params(url: yarl.URL) -> str:
852848 span = self .assert_spans (1 )
853849 self .assertEqual (
854850 f"http://{ host } :{ port } /test-path" ,
855- span .attributes [SpanAttributes . HTTP_URL ],
851+ span .attributes [HTTP_URL ],
856852 )
857853
858854 def test_hooks (self ):
0 commit comments