Skip to content

Commit 407eb28

Browse files
committed
opentelemetry-sdk: use release candidate code attributes
Instead of using the deprecated use latest release candidate code attributes. While at it stop using SpanAttributes.
1 parent db2dd1e commit 407eb28

File tree

2 files changed

+29
-21
lines changed

2 files changed

+29
-21
lines changed

opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
from opentelemetry.sdk.resources import Resource
4646
from opentelemetry.sdk.util import ns_to_iso_str
4747
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
48-
from opentelemetry.semconv.trace import SpanAttributes
48+
from opentelemetry.semconv._incubating.attributes import code_attributes
49+
from opentelemetry.semconv.attributes import exception_attributes
4950
from opentelemetry.trace import (
5051
format_span_id,
5152
format_trace_id,
@@ -483,22 +484,24 @@ def _get_attributes(record: logging.LogRecord) -> Attributes:
483484
}
484485

485486
# Add standard code attributes for logs.
486-
attributes[SpanAttributes.CODE_FILEPATH] = record.pathname
487-
attributes[SpanAttributes.CODE_FUNCTION] = record.funcName
488-
attributes[SpanAttributes.CODE_LINENO] = record.lineno
487+
attributes[code_attributes.CODE_FILE_PATH] = record.pathname
488+
attributes[code_attributes.CODE_FUNCTION_NAME] = record.funcName
489+
attributes[code_attributes.CODE_LINE_NUMBER] = record.lineno
489490

490491
if record.exc_info:
491492
exctype, value, tb = record.exc_info
492493
if exctype is not None:
493-
attributes[SpanAttributes.EXCEPTION_TYPE] = exctype.__name__
494+
attributes[exception_attributes.EXCEPTION_TYPE] = (
495+
exctype.__name__
496+
)
494497
if value is not None and value.args:
495-
attributes[SpanAttributes.EXCEPTION_MESSAGE] = str(
498+
attributes[exception_attributes.EXCEPTION_MESSAGE] = str(
496499
value.args[0]
497500
)
498501
if tb is not None:
499502
# https://github.com/open-telemetry/opentelemetry-specification/blob/9fa7c656b26647b27e485a6af7e38dc716eba98a/specification/trace/semantic_conventions/exceptions.md#stacktrace-representation
500-
attributes[SpanAttributes.EXCEPTION_STACKTRACE] = "".join(
501-
traceback.format_exception(*record.exc_info)
503+
attributes[exception_attributes.EXCEPTION_STACKTRACE] = (
504+
"".join(traceback.format_exception(*record.exc_info))
502505
)
503506
return attributes
504507

opentelemetry-sdk/tests/logs/test_handler.py

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
LoggingHandler,
2828
LogRecordProcessor,
2929
)
30-
from opentelemetry.semconv.trace import SpanAttributes
30+
from opentelemetry.semconv._incubating.attributes import code_attributes
31+
from opentelemetry.semconv.attributes import exception_attributes
3132
from opentelemetry.trace import INVALID_SPAN_CONTEXT
3233

3334

@@ -127,17 +128,19 @@ def test_log_record_user_attributes(self):
127128
self.assertEqual(len(log_record.attributes), 4)
128129
self.assertEqual(log_record.attributes["http.status_code"], 200)
129130
self.assertTrue(
130-
log_record.attributes[SpanAttributes.CODE_FILEPATH].endswith(
131+
log_record.attributes[code_attributes.CODE_FILE_PATH].endswith(
131132
"test_handler.py"
132133
)
133134
)
134135
self.assertEqual(
135-
log_record.attributes[SpanAttributes.CODE_FUNCTION],
136+
log_record.attributes[code_attributes.CODE_FUNCTION_NAME],
136137
"test_log_record_user_attributes",
137138
)
138139
# The line of the log statement is not a constant (changing tests may change that),
139140
# so only check that the attribute is present.
140-
self.assertTrue(SpanAttributes.CODE_LINENO in log_record.attributes)
141+
self.assertTrue(
142+
code_attributes.CODE_LINE_NUMBER in log_record.attributes
143+
)
141144
self.assertTrue(isinstance(log_record.attributes, BoundedAttributes))
142145

143146
def test_log_record_exception(self):
@@ -155,15 +158,15 @@ def test_log_record_exception(self):
155158
self.assertIsNotNone(log_record)
156159
self.assertEqual(log_record.body, "Zero Division Error")
157160
self.assertEqual(
158-
log_record.attributes[SpanAttributes.EXCEPTION_TYPE],
161+
log_record.attributes[exception_attributes.EXCEPTION_TYPE],
159162
ZeroDivisionError.__name__,
160163
)
161164
self.assertEqual(
162-
log_record.attributes[SpanAttributes.EXCEPTION_MESSAGE],
165+
log_record.attributes[exception_attributes.EXCEPTION_MESSAGE],
163166
"division by zero",
164167
)
165168
stack_trace = log_record.attributes[
166-
SpanAttributes.EXCEPTION_STACKTRACE
169+
exception_attributes.EXCEPTION_STACKTRACE
167170
]
168171
self.assertIsInstance(stack_trace, str)
169172
self.assertTrue("Traceback" in stack_trace)
@@ -188,15 +191,15 @@ def test_log_record_recursive_exception(self):
188191
self.assertIsNotNone(log_record)
189192
self.assertEqual(log_record.body, "Zero Division Error")
190193
self.assertEqual(
191-
log_record.attributes[SpanAttributes.EXCEPTION_TYPE],
194+
log_record.attributes[exception_attributes.EXCEPTION_TYPE],
192195
ZeroDivisionError.__name__,
193196
)
194197
self.assertEqual(
195-
log_record.attributes[SpanAttributes.EXCEPTION_MESSAGE],
198+
log_record.attributes[exception_attributes.EXCEPTION_MESSAGE],
196199
"division by zero",
197200
)
198201
stack_trace = log_record.attributes[
199-
SpanAttributes.EXCEPTION_STACKTRACE
202+
exception_attributes.EXCEPTION_STACKTRACE
200203
]
201204
self.assertIsInstance(stack_trace, str)
202205
self.assertTrue("Traceback" in stack_trace)
@@ -218,12 +221,14 @@ def test_log_exc_info_false(self):
218221

219222
self.assertIsNotNone(log_record)
220223
self.assertEqual(log_record.body, "Zero Division Error")
221-
self.assertNotIn(SpanAttributes.EXCEPTION_TYPE, log_record.attributes)
222224
self.assertNotIn(
223-
SpanAttributes.EXCEPTION_MESSAGE, log_record.attributes
225+
exception_attributes.EXCEPTION_TYPE, log_record.attributes
226+
)
227+
self.assertNotIn(
228+
exception_attributes.EXCEPTION_MESSAGE, log_record.attributes
224229
)
225230
self.assertNotIn(
226-
SpanAttributes.EXCEPTION_STACKTRACE, log_record.attributes
231+
exception_attributes.EXCEPTION_STACKTRACE, log_record.attributes
227232
)
228233

229234
def test_log_record_trace_correlation(self):

0 commit comments

Comments
 (0)