From 2a9445500b2f925289c52455e6c7a486ba266a5c Mon Sep 17 00:00:00 2001 From: Owais Lone Date: Sun, 28 Mar 2021 09:06:05 +0530 Subject: [PATCH] Remove unnecessary warning when (not) setting status description Currently we log a warning that status description should only be set for an error condition even when description is not being set. This commit silences such warnings. --- .../src/opentelemetry/trace/status.py | 18 +++++++++--------- opentelemetry-api/tests/trace/test_status.py | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/opentelemetry-api/src/opentelemetry/trace/status.py b/opentelemetry-api/src/opentelemetry/trace/status.py index 5e0469d71a6..ada7fa1ebda 100644 --- a/opentelemetry-api/src/opentelemetry/trace/status.py +++ b/opentelemetry-api/src/opentelemetry/trace/status.py @@ -49,15 +49,15 @@ def __init__( self._status_code = status_code self._description = None - if description is not None and not isinstance(description, str): - logger.warning("Invalid status description type, expected str") - return - - if status_code is not StatusCode.ERROR: - logger.warning( - "description should only be set when status_code is set to StatusCode.ERROR" - ) - return + if description: + if not isinstance(description, str): + logger.warning("Invalid status description type, expected str") + return + if status_code is not StatusCode.ERROR: + logger.warning( + "description should only be set when status_code is set to StatusCode.ERROR" + ) + return self._description = description diff --git a/opentelemetry-api/tests/trace/test_status.py b/opentelemetry-api/tests/trace/test_status.py index fdfcd4e83ed..74da78d6c73 100644 --- a/opentelemetry-api/tests/trace/test_status.py +++ b/opentelemetry-api/tests/trace/test_status.py @@ -30,8 +30,8 @@ def test_constructor(self): def test_invalid_description(self): with self.assertLogs(level=WARNING) as warning: - status = Status(description={"test": "val"}) # type: ignore - self.assertIs(status.status_code, StatusCode.UNSET) + status = Status(status_code=StatusCode.ERROR, description={"test": "val"}) # type: ignore + self.assertIs(status.status_code, StatusCode.ERROR) self.assertEqual(status.description, None) self.assertIn( "Invalid status description type, expected str",