diff --git a/opentelemetry-api/src/opentelemetry/attributes/__init__.py b/opentelemetry-api/src/opentelemetry/attributes/__init__.py index 497952984db..ce86918ca91 100644 --- a/opentelemetry-api/src/opentelemetry/attributes/__init__.py +++ b/opentelemetry-api/src/opentelemetry/attributes/__init__.py @@ -110,16 +110,6 @@ def _clean_attribute( def _clean_attribute_value( value: types.AttributeValue, limit: Optional[int] ) -> Optional[types.AttributeValue]: - if value is None: - return None - - if isinstance(value, bytes): - try: - value = value.decode() - except UnicodeDecodeError: - _logger.warning("Byte attribute could not be decoded.") - return None - if limit is not None and isinstance(value, str): value = value[:limit] return value diff --git a/opentelemetry-api/tests/attributes/test_attributes.py b/opentelemetry-api/tests/attributes/test_attributes.py index cf6aecb41fa..8209b5fb07e 100644 --- a/opentelemetry-api/tests/attributes/test_attributes.py +++ b/opentelemetry-api/tests/attributes/test_attributes.py @@ -79,10 +79,10 @@ def test_sequence_attr_decode(self): ] expected = [ None, - "Content-Disposition", - "Content-Type", - None, - "Keep-Alive", + b"Content-Disposition", + b"Content-Type", + b"\x81", + b"Keep-Alive", ] self.assertEqual( _clean_attribute("headers", seq, None), tuple(expected)