Skip to content

Commit ac81b5e

Browse files
author
Liudmila Molkova
committed
log sdk review suggestions
1 parent 59d6754 commit ac81b5e

File tree

18 files changed

+318
-364
lines changed

18 files changed

+318
-364
lines changed

exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,44 +30,44 @@
3030
ResourceLogs,
3131
ScopeLogs,
3232
)
33-
from opentelemetry.sdk._logs import LogData
33+
from opentelemetry.sdk._logs import LogRecord
3434

3535

36-
def encode_logs(batch: Sequence[LogData]) -> ExportLogsServiceRequest:
36+
def encode_logs(batch: Sequence[LogRecord]) -> ExportLogsServiceRequest:
3737
return ExportLogsServiceRequest(resource_logs=_encode_resource_logs(batch))
3838

3939

40-
def _encode_log(log_data: LogData) -> PB2LogRecord:
40+
def _encode_log(log_record: LogRecord) -> PB2LogRecord:
4141
span_id = (
4242
None
43-
if log_data.log_record.span_id == 0
44-
else _encode_span_id(log_data.log_record.span_id)
43+
if log_record.span_id == 0
44+
else _encode_span_id(log_record.span_id)
4545
)
4646
trace_id = (
4747
None
48-
if log_data.log_record.trace_id == 0
49-
else _encode_trace_id(log_data.log_record.trace_id)
48+
if log_record.trace_id == 0
49+
else _encode_trace_id(log_record.trace_id)
5050
)
51-
body = log_data.log_record.body
51+
body = log_record.body
5252
return PB2LogRecord(
53-
time_unix_nano=log_data.log_record.timestamp,
54-
observed_time_unix_nano=log_data.log_record.observed_timestamp,
53+
time_unix_nano=log_record.timestamp,
54+
observed_time_unix_nano=log_record.observed_timestamp,
5555
span_id=span_id,
5656
trace_id=trace_id,
57-
flags=int(log_data.log_record.trace_flags),
57+
flags=int(log_record.trace_flags),
5858
body=_encode_value(body) if body is not None else None,
59-
severity_text=log_data.log_record.severity_text,
60-
attributes=_encode_attributes(log_data.log_record.attributes),
61-
dropped_attributes_count=log_data.log_record.dropped_attributes,
62-
severity_number=log_data.log_record.severity_number.value,
59+
severity_text=log_record.severity_text,
60+
attributes=_encode_attributes(log_record.attributes),
61+
dropped_attributes_count=log_record.dropped_attributes,
62+
severity_number=log_record.severity_number.value,
6363
)
6464

6565

66-
def _encode_resource_logs(batch: Sequence[LogData]) -> List[ResourceLogs]:
66+
def _encode_resource_logs(batch: Sequence[LogRecord]) -> List[ResourceLogs]:
6767
sdk_resource_logs = defaultdict(lambda: defaultdict(list))
6868

6969
for sdk_log in batch:
70-
sdk_resource = sdk_log.log_record.resource
70+
sdk_resource = sdk_log.resource
7171
sdk_instrumentation = sdk_log.instrumentation_scope or None
7272
pb2_log = _encode_log(sdk_log)
7373

exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py

Lines changed: 75 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from opentelemetry.proto.resource.v1.resource_pb2 import (
4040
Resource as PB2Resource,
4141
)
42-
from opentelemetry.sdk._logs import LogData, LogLimits
42+
from opentelemetry.sdk._logs import LogLimits
4343
from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
4444
from opentelemetry.sdk.resources import Resource as SDKResource
4545
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
@@ -54,7 +54,7 @@ def test_encode(self):
5454
def test_encode_no_body(self):
5555
sdk_logs, expected_encoding = self.get_test_logs()
5656
for log in sdk_logs:
57-
log.log_record.body = None
57+
log.body = None
5858

5959
for resource_log in expected_encoding.resource_logs:
6060
for scope_log in resource_log.scope_logs:
@@ -66,7 +66,7 @@ def test_encode_no_body(self):
6666
def test_dropped_attributes_count(self):
6767
sdk_logs = self._get_test_logs_dropped_attributes()
6868
encoded_logs = encode_logs(sdk_logs)
69-
self.assertTrue(hasattr(sdk_logs[0].log_record, "dropped_attributes"))
69+
self.assertTrue(hasattr(sdk_logs[0], "dropped_attributes"))
7070
self.assertEqual(
7171
# pylint:disable=no-member
7272
encoded_logs.resource_logs[0]
@@ -77,78 +77,70 @@ def test_dropped_attributes_count(self):
7777
)
7878

7979
@staticmethod
80-
def _get_sdk_log_data() -> List[LogData]:
81-
log1 = LogData(
82-
log_record=SDKLogRecord(
83-
timestamp=1644650195189786880,
84-
observed_timestamp=1644650195189786881,
85-
trace_id=89564621134313219400156819398935297684,
86-
span_id=1312458408527513268,
87-
trace_flags=TraceFlags(0x01),
88-
severity_text="WARN",
89-
severity_number=SeverityNumber.WARN,
90-
body="Do not go gentle into that good night. Rage, rage against the dying of the light",
91-
resource=SDKResource(
92-
{"first_resource": "value"},
93-
"resource_schema_url",
94-
),
95-
attributes={"a": 1, "b": "c"},
80+
def _get_sdk_log_record() -> List[SDKLogRecord]:
81+
log1 = SDKLogRecord(
82+
timestamp=1644650195189786880,
83+
observed_timestamp=1644650195189786881,
84+
trace_id=89564621134313219400156819398935297684,
85+
span_id=1312458408527513268,
86+
trace_flags=TraceFlags(0x01),
87+
severity_text="WARN",
88+
severity_number=SeverityNumber.WARN,
89+
body="Do not go gentle into that good night. Rage, rage against the dying of the light",
90+
resource=SDKResource(
91+
{"first_resource": "value"},
92+
"resource_schema_url",
9693
),
94+
attributes={"a": 1, "b": "c"},
9795
instrumentation_scope=InstrumentationScope(
9896
"first_name", "first_version"
9997
),
10098
)
10199

102-
log2 = LogData(
103-
log_record=SDKLogRecord(
104-
timestamp=1644650249738562048,
105-
observed_timestamp=1644650249738562049,
106-
trace_id=0,
107-
span_id=0,
108-
trace_flags=TraceFlags.DEFAULT,
109-
severity_text="WARN",
110-
severity_number=SeverityNumber.WARN,
111-
body="Cooper, this is no time for caution!",
112-
resource=SDKResource({"second_resource": "CASE"}),
113-
attributes={},
114-
),
100+
log2 = SDKLogRecord(
101+
timestamp=1644650249738562048,
102+
observed_timestamp=1644650249738562049,
103+
trace_id=0,
104+
span_id=0,
105+
trace_flags=TraceFlags.DEFAULT,
106+
severity_text="WARN",
107+
severity_number=SeverityNumber.WARN,
108+
body="Cooper, this is no time for caution!",
109+
resource=SDKResource({"second_resource": "CASE"}),
110+
attributes={},
115111
instrumentation_scope=InstrumentationScope(
116112
"second_name", "second_version"
117113
),
118114
)
119115

120-
log3 = LogData(
121-
log_record=SDKLogRecord(
122-
timestamp=1644650427658989056,
123-
observed_timestamp=1644650427658989057,
124-
trace_id=271615924622795969659406376515024083555,
125-
span_id=4242561578944770265,
126-
trace_flags=TraceFlags(0x01),
127-
severity_text="DEBUG",
128-
severity_number=SeverityNumber.DEBUG,
129-
body="To our galaxy",
130-
resource=SDKResource({"second_resource": "CASE"}),
131-
attributes={"a": 1, "b": "c"},
132-
),
116+
log3 = SDKLogRecord(
117+
timestamp=1644650427658989056,
118+
observed_timestamp=1644650427658989057,
119+
trace_id=271615924622795969659406376515024083555,
120+
span_id=4242561578944770265,
121+
trace_flags=TraceFlags(0x01),
122+
severity_text="DEBUG",
123+
severity_number=SeverityNumber.DEBUG,
124+
body="To our galaxy",
125+
resource=SDKResource({"second_resource": "CASE"}),
126+
attributes={"a": 1, "b": "c"},
133127
instrumentation_scope=None,
134128
)
135129

136-
log4 = LogData(
137-
log_record=SDKLogRecord(
138-
timestamp=1644650584292683008,
139-
observed_timestamp=1644650584292683009,
140-
trace_id=212592107417388365804938480559624925555,
141-
span_id=6077757853989569223,
142-
trace_flags=TraceFlags(0x01),
143-
severity_text="INFO",
144-
severity_number=SeverityNumber.INFO,
145-
body="Love is the one thing that transcends time and space",
146-
resource=SDKResource(
147-
{"first_resource": "value"},
148-
"resource_schema_url",
149-
),
150-
attributes={"filename": "model.py", "func_name": "run_method"},
130+
log4 = SDKLogRecord(
131+
timestamp=1644650584292683008,
132+
observed_timestamp=1644650584292683009,
133+
trace_id=212592107417388365804938480559624925555,
134+
span_id=6077757853989569223,
135+
trace_flags=TraceFlags(0x01),
136+
severity_text="INFO",
137+
severity_number=SeverityNumber.INFO,
138+
body="Love is the one thing that transcends time and space",
139+
resource=SDKResource(
140+
{"first_resource": "value"},
141+
"resource_schema_url",
151142
),
143+
attributes={"filename": "model.py", "func_name": "run_method"},
152144
instrumentation_scope=InstrumentationScope(
153145
"another_name", "another_version"
154146
),
@@ -159,7 +151,7 @@ def _get_sdk_log_data() -> List[LogData]:
159151
def get_test_logs(
160152
self,
161153
) -> Tuple[List[SDKLogRecord], ExportLogsServiceRequest]:
162-
sdk_logs = self._get_sdk_log_data()
154+
sdk_logs = self._get_sdk_log_record()
163155

164156
pb2_service_request = ExportLogsServiceRequest(
165157
resource_logs=[
@@ -293,37 +285,33 @@ def get_test_logs(
293285
return sdk_logs, pb2_service_request
294286

295287
@staticmethod
296-
def _get_test_logs_dropped_attributes() -> List[LogData]:
297-
log1 = LogData(
298-
log_record=SDKLogRecord(
299-
timestamp=1644650195189786880,
300-
trace_id=89564621134313219400156819398935297684,
301-
span_id=1312458408527513268,
302-
trace_flags=TraceFlags(0x01),
303-
severity_text="WARN",
304-
severity_number=SeverityNumber.WARN,
305-
body="Do not go gentle into that good night. Rage, rage against the dying of the light",
306-
resource=SDKResource({"first_resource": "value"}),
307-
attributes={"a": 1, "b": "c", "user_id": "B121092"},
308-
limits=LogLimits(max_attributes=1),
309-
),
288+
def _get_test_logs_dropped_attributes() -> List[SDKLogRecord]:
289+
log1 = SDKLogRecord(
290+
timestamp=1644650195189786880,
291+
trace_id=89564621134313219400156819398935297684,
292+
span_id=1312458408527513268,
293+
trace_flags=TraceFlags(0x01),
294+
severity_text="WARN",
295+
severity_number=SeverityNumber.WARN,
296+
body="Do not go gentle into that good night. Rage, rage against the dying of the light",
297+
resource=SDKResource({"first_resource": "value"}),
298+
attributes={"a": 1, "b": "c", "user_id": "B121092"},
299+
limits=LogLimits(max_attributes=1),
310300
instrumentation_scope=InstrumentationScope(
311301
"first_name", "first_version"
312302
),
313303
)
314304

315-
log2 = LogData(
316-
log_record=SDKLogRecord(
317-
timestamp=1644650249738562048,
318-
trace_id=0,
319-
span_id=0,
320-
trace_flags=TraceFlags.DEFAULT,
321-
severity_text="WARN",
322-
severity_number=SeverityNumber.WARN,
323-
body="Cooper, this is no time for caution!",
324-
resource=SDKResource({"second_resource": "CASE"}),
325-
attributes={},
326-
),
305+
log2 = SDKLogRecord(
306+
timestamp=1644650249738562048,
307+
trace_id=0,
308+
span_id=0,
309+
trace_flags=TraceFlags.DEFAULT,
310+
severity_text="WARN",
311+
severity_number=SeverityNumber.WARN,
312+
body="Cooper, this is no time for caution!",
313+
resource=SDKResource({"second_resource": "CASE"}),
314+
attributes={},
327315
instrumentation_scope=InstrumentationScope(
328316
"second_name", "second_version"
329317
),

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
from opentelemetry.proto.collector.logs.v1.logs_service_pb2_grpc import (
2929
LogsServiceStub,
3030
)
31-
from opentelemetry.sdk._logs import LogData
3231
from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
3332
from opentelemetry.sdk._logs.export import LogExporter, LogExportResult
3433
from opentelemetry.sdk.environment_variables import (
@@ -103,11 +102,11 @@ def __init__(
103102
)
104103

105104
def _translate_data(
106-
self, data: Sequence[LogData]
105+
self, data: Sequence[SDKLogRecord]
107106
) -> ExportLogsServiceRequest:
108107
return encode_logs(data)
109108

110-
def export(self, batch: Sequence[LogData]) -> LogExportResult:
109+
def export(self, batch: Sequence[SDKLogRecord]) -> LogExportResult:
111110
return self._export(batch)
112111

113112
def shutdown(self, timeout_millis: float = 30_000, **kwargs) -> None:

0 commit comments

Comments
 (0)