Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,18 @@
)
from opentelemetry.semconv.attributes.url_attributes import URL_FULL
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.semconv._incubating.attributes.http_attributes import (
HTTP_FLAVOR,
HTTP_HOST,
HTTP_METHOD,
HTTP_SCHEME,
HTTP_STATUS_CODE,
HTTP_URL,
)
from opentelemetry.semconv._incubating.attributes.net_attributes import (
NET_PEER_NAME,
NET_PEER_PORT,
)
from opentelemetry.test.mock_textmap import MockTextMapPropagator
from opentelemetry.test.test_base import TestBase
from opentelemetry.trace import StatusCode
Expand Down Expand Up @@ -155,15 +167,15 @@ def test_basic(self):

self.assertEqual(
span.instrumentation_scope.schema_url,
"https://opentelemetry.io/schemas/1.11.0",
SpanAttributes.SCHEMA_URL,
)

self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_URL: self.URL,
SpanAttributes.HTTP_STATUS_CODE: 200,
HTTP_METHOD: "GET",
HTTP_URL: self.URL,
HTTP_STATUS_CODE: 200,
},
)

Expand Down Expand Up @@ -223,22 +235,22 @@ def test_basic_both_semconv(self):

self.assertEqual(
span.instrumentation_scope.schema_url,
SpanAttributes.SCHEMA_URL,
"https://opentelemetry.io/schemas/1.21.0",
)
self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "GET",
HTTP_METHOD: "GET",
HTTP_REQUEST_METHOD: "GET",
SpanAttributes.HTTP_URL: url_with_port,
HTTP_URL: url_with_port,
URL_FULL: url_with_port,
SpanAttributes.HTTP_HOST: "mock",
HTTP_HOST: "mock",
SERVER_ADDRESS: "mock",
NETWORK_PEER_ADDRESS: "mock",
SpanAttributes.NET_PEER_PORT: 80,
SpanAttributes.HTTP_STATUS_CODE: 200,
NET_PEER_PORT: 80,
HTTP_STATUS_CODE: 200,
HTTP_RESPONSE_STATUS_CODE: 200,
SpanAttributes.HTTP_FLAVOR: "1.1",
HTTP_FLAVOR: "1.1",
NETWORK_PROTOCOL_VERSION: "1.1",
SERVER_PORT: 80,
NETWORK_PEER_PORT: 80,
Expand All @@ -262,9 +274,9 @@ def test_nonstandard_http_method(self):
self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "_OTHER",
SpanAttributes.HTTP_URL: self.URL,
SpanAttributes.HTTP_STATUS_CODE: 405,
HTTP_METHOD: "_OTHER",
HTTP_URL: self.URL,
HTTP_STATUS_CODE: 405,
},
)

Expand Down Expand Up @@ -366,7 +378,7 @@ def test_not_foundbasic(self):
span = self.assert_span()

self.assertEqual(
span.attributes.get(SpanAttributes.HTTP_STATUS_CODE), 404
span.attributes.get(HTTP_STATUS_CODE), 404
)

self.assertIs(
Expand Down Expand Up @@ -407,7 +419,7 @@ def test_not_foundbasic_both_semconv(self):
span = self.assert_span()

self.assertEqual(
span.attributes.get(SpanAttributes.HTTP_STATUS_CODE), 404
span.attributes.get(HTTP_STATUS_CODE), 404
)
self.assertEqual(span.attributes.get(HTTP_RESPONSE_STATUS_CODE), 404)
self.assertEqual(span.attributes.get(ERROR_TYPE), "404")
Expand Down Expand Up @@ -523,9 +535,9 @@ def response_hook(
self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_URL: self.URL,
SpanAttributes.HTTP_STATUS_CODE: 200,
HTTP_METHOD: "GET",
HTTP_URL: self.URL,
HTTP_STATUS_CODE: 200,
"http.response.body": "Hello!",
},
)
Expand Down Expand Up @@ -555,8 +567,8 @@ def test_requests_exception_without_response(self, *_, **__):
self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_URL: self.URL,
HTTP_METHOD: "GET",
HTTP_URL: self.URL,
},
)
self.assertEqual(span.status.status_code, StatusCode.ERROR)
Expand Down Expand Up @@ -604,8 +616,8 @@ def test_requests_exception_without_proper_response_type(self, *_, **__):
self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_URL: self.URL,
HTTP_METHOD: "GET",
HTTP_URL: self.URL,
},
)
self.assertEqual(span.status.status_code, StatusCode.ERROR)
Expand All @@ -626,9 +638,9 @@ def test_requests_exception_with_response(self, *_, **__):
self.assertEqual(
span.attributes,
{
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_URL: self.URL,
SpanAttributes.HTTP_STATUS_CODE: 500,
HTTP_METHOD: "GET",
HTTP_URL: self.URL,
HTTP_STATUS_CODE: 500,
},
)
self.assertEqual(span.status.status_code, StatusCode.ERROR)
Expand Down Expand Up @@ -684,7 +696,7 @@ def test_credential_removal(self):
self.perform_request(new_url)
span = self.assert_span()

self.assertEqual(span.attributes[SpanAttributes.HTTP_URL], self.URL)
self.assertEqual(span.attributes[HTTP_URL], self.URL)

def test_if_headers_equals_none(self):
result = requests.get(self.URL, headers=None, timeout=5)
Expand Down Expand Up @@ -745,13 +757,13 @@ def test_basic_metric_success(self):
self.perform_request(self.URL)

expected_attributes = {
SpanAttributes.HTTP_STATUS_CODE: 200,
SpanAttributes.HTTP_HOST: "examplehost",
SpanAttributes.NET_PEER_PORT: 8000,
SpanAttributes.NET_PEER_NAME: "examplehost",
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_FLAVOR: "1.1",
SpanAttributes.HTTP_SCHEME: "http",
HTTP_STATUS_CODE: 200,
HTTP_HOST: "examplehost",
NET_PEER_PORT: 8000,
NET_PEER_NAME: "examplehost",
HTTP_METHOD: "GET",
HTTP_FLAVOR: "1.1",
HTTP_SCHEME: "http",
}

for (
Expand Down Expand Up @@ -809,13 +821,13 @@ def test_basic_metric_both_semconv(self):
self.perform_request(self.URL)

expected_attributes_old = {
SpanAttributes.HTTP_STATUS_CODE: 200,
SpanAttributes.HTTP_HOST: "examplehost",
SpanAttributes.NET_PEER_PORT: 8000,
SpanAttributes.NET_PEER_NAME: "examplehost",
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_FLAVOR: "1.1",
SpanAttributes.HTTP_SCHEME: "http",
HTTP_STATUS_CODE: 200,
HTTP_HOST: "examplehost",
NET_PEER_PORT: 8000,
NET_PEER_NAME: "examplehost",
HTTP_METHOD: "GET",
HTTP_FLAVOR: "1.1",
HTTP_SCHEME: "http",
}

expected_attributes_new = {
Expand Down Expand Up @@ -879,13 +891,13 @@ def test_custom_histogram_boundaries_new_semconv(self):

def test_basic_metric_non_recording_span(self):
expected_attributes = {
SpanAttributes.HTTP_STATUS_CODE: 200,
SpanAttributes.HTTP_HOST: "examplehost",
SpanAttributes.NET_PEER_PORT: 8000,
SpanAttributes.NET_PEER_NAME: "examplehost",
SpanAttributes.HTTP_METHOD: "GET",
SpanAttributes.HTTP_FLAVOR: "1.1",
SpanAttributes.HTTP_SCHEME: "http",
HTTP_STATUS_CODE: 200,
HTTP_HOST: "examplehost",
NET_PEER_PORT: 8000,
NET_PEER_NAME: "examplehost",
HTTP_METHOD: "GET",
HTTP_FLAVOR: "1.1",
HTTP_SCHEME: "http",
}

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