Skip to content

Commit 0147227

Browse files
committed
handle null statuses. fixes open-telemetry#820
1 parent 444e0a1 commit 0147227

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

Diff for: opentelemetry-instrumentation/src/opentelemetry/instrumentation/utils.py

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ def http_status_to_status_code(
4646
status (int): HTTP status code
4747
"""
4848
# See: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#status
49+
if status is None:
50+
return StatusCode.UNSET
4951
if status < 100:
5052
return StatusCode.ERROR
5153
if status <= 299:

Diff for: opentelemetry-instrumentation/tests/test_utils.py

+8
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ def test_http_status_to_status_code(self):
5656
actual = http_status_to_status_code(int(status_code))
5757
self.assertEqual(actual, expected, status_code)
5858

59+
def test_http_status_to_status_code_none(self):
60+
for status_code, expected in (
61+
(None, StatusCode.UNSET),
62+
):
63+
with self.subTest(status_code=status_code):
64+
actual = http_status_to_status_code(status_code)
65+
self.assertEqual(actual, expected, status_code)
66+
5967
def test_http_status_to_status_code_redirect(self):
6068
for status_code, expected in (
6169
(HTTPStatus.MULTIPLE_CHOICES, StatusCode.ERROR),

0 commit comments

Comments
 (0)