Skip to content

Commit c3f1607

Browse files
committed
Add ReadableLogRecord and ReadWriteLogRecord
1 parent 292c70f commit c3f1607

File tree

17 files changed

+131
-103
lines changed

17 files changed

+131
-103
lines changed

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

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,49 +30,53 @@
3030
ResourceLogs,
3131
ScopeLogs,
3232
)
33-
from opentelemetry.sdk._logs import SDKLogRecord
33+
from opentelemetry.sdk._logs import ReadableLogRecord
3434

3535

36-
def encode_logs(batch: Sequence[SDKLogRecord]) -> ExportLogsServiceRequest:
36+
def encode_logs(
37+
batch: Sequence[ReadableLogRecord],
38+
) -> ExportLogsServiceRequest:
3739
return ExportLogsServiceRequest(resource_logs=_encode_resource_logs(batch))
3840

3941

40-
def _encode_log(sdk_log_record: SDKLogRecord) -> PB2LogRecord:
42+
def _encode_log(readable_log_record: ReadableLogRecord) -> PB2LogRecord:
4143
span_id = (
4244
None
43-
if sdk_log_record.log_record.span_id == 0
44-
else _encode_span_id(sdk_log_record.log_record.span_id)
45+
if readable_log_record.span_id == 0
46+
else _encode_span_id(readable_log_record.span_id)
4547
)
4648
trace_id = (
4749
None
48-
if sdk_log_record.log_record.trace_id == 0
49-
else _encode_trace_id(sdk_log_record.log_record.trace_id)
50+
if readable_log_record.trace_id == 0
51+
else _encode_trace_id(readable_log_record.trace_id)
5052
)
51-
body = sdk_log_record.log_record.body
53+
body = readable_log_record.body
5254
return PB2LogRecord(
53-
time_unix_nano=sdk_log_record.log_record.timestamp,
54-
observed_time_unix_nano=sdk_log_record.log_record.observed_timestamp,
55+
time_unix_nano=readable_log_record.timestamp,
56+
observed_time_unix_nano=readable_log_record.observed_timestamp,
5557
span_id=span_id,
5658
trace_id=trace_id,
57-
flags=int(sdk_log_record.log_record.trace_flags),
59+
flags=int(readable_log_record.trace_flags),
5860
body=_encode_value(body, allow_null=True),
59-
severity_text=sdk_log_record.log_record.severity_text,
61+
severity_text=readable_log_record.severity_text,
6062
attributes=_encode_attributes(
61-
sdk_log_record.log_record.attributes, allow_null=True
63+
readable_log_record.attributes, allow_null=True
6264
),
63-
dropped_attributes_count=sdk_log_record.dropped_attributes,
64-
severity_number=sdk_log_record.log_record.severity_number.value,
65-
event_name=sdk_log_record.log_record.event_name,
65+
dropped_attributes_count=readable_log_record.dropped_attributes,
66+
severity_number=readable_log_record.severity_number.value,
67+
event_name=readable_log_record.event_name,
6668
)
6769

6870

69-
def _encode_resource_logs(batch: Sequence[SDKLogRecord]) -> List[ResourceLogs]:
71+
def _encode_resource_logs(
72+
batch: Sequence[ReadableLogRecord],
73+
) -> List[ResourceLogs]:
7074
sdk_resource_logs = defaultdict(lambda: defaultdict(list))
7175

72-
for sdk_log in batch:
73-
sdk_resource = sdk_log.resource
74-
sdk_instrumentation = sdk_log.instrumentation_scope or None
75-
pb2_log = _encode_log(sdk_log)
76+
for readable_log in batch:
77+
sdk_resource = readable_log.resource
78+
sdk_instrumentation = readable_log.instrumentation_scope or None
79+
pb2_log = _encode_log(readable_log)
7680

7781
sdk_resource_logs[sdk_resource][sdk_instrumentation].append(pb2_log)
7882

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
from opentelemetry.proto.resource.v1.resource_pb2 import (
4646
Resource as PB2Resource,
4747
)
48-
from opentelemetry.sdk._logs import LogLimits, SDKLogRecord
48+
from opentelemetry.sdk._logs import LogLimits, ReadWriteLogRecord
4949
from opentelemetry.sdk.resources import Resource as SDKResource
5050
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
5151
from opentelemetry.trace import (
@@ -87,7 +87,7 @@ def test_dropped_attributes_count(self):
8787
)
8888

8989
@staticmethod
90-
def _get_sdk_log_data() -> List[SDKLogRecord]:
90+
def _get_sdk_log_data() -> List[ReadWriteLogRecord]:
9191
ctx_log1 = set_span_in_context(
9292
NonRecordingSpan(
9393
SpanContext(
@@ -98,7 +98,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
9898
)
9999
)
100100
)
101-
log1 = SDKLogRecord(
101+
log1 = ReadWriteLogRecord(
102102
LogRecord(
103103
timestamp=1644650195189786880,
104104
observed_timestamp=1644650195189786881,
@@ -117,7 +117,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
117117
),
118118
)
119119

120-
log2 = SDKLogRecord(
120+
log2 = ReadWriteLogRecord(
121121
LogRecord(
122122
timestamp=1644650249738562048,
123123
observed_timestamp=1644650249738562049,
@@ -142,7 +142,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
142142
)
143143
)
144144
)
145-
log3 = SDKLogRecord(
145+
log3 = ReadWriteLogRecord(
146146
LogRecord(
147147
timestamp=1644650427658989056,
148148
observed_timestamp=1644650427658989057,
@@ -166,7 +166,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
166166
)
167167
)
168168
)
169-
log4 = SDKLogRecord(
169+
log4 = ReadWriteLogRecord(
170170
LogRecord(
171171
timestamp=1644650584292683008,
172172
observed_timestamp=1644650584292683009,
@@ -195,7 +195,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
195195
)
196196
)
197197
)
198-
log5 = SDKLogRecord(
198+
log5 = ReadWriteLogRecord(
199199
LogRecord(
200200
timestamp=1644650584292683009,
201201
observed_timestamp=1644650584292683010,
@@ -221,7 +221,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
221221
)
222222
)
223223
)
224-
log6 = SDKLogRecord(
224+
log6 = ReadWriteLogRecord(
225225
LogRecord(
226226
timestamp=1644650584292683022,
227227
observed_timestamp=1644650584292683022,
@@ -252,7 +252,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
252252
)
253253
)
254254
)
255-
log7 = SDKLogRecord(
255+
log7 = ReadWriteLogRecord(
256256
LogRecord(
257257
timestamp=1644650584292683033,
258258
observed_timestamp=1644650584292683033,
@@ -284,7 +284,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
284284
)
285285
)
286286
)
287-
log8 = SDKLogRecord(
287+
log8 = ReadWriteLogRecord(
288288
LogRecord(
289289
timestamp=1644650584292683044,
290290
observed_timestamp=1644650584292683044,
@@ -307,7 +307,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
307307

308308
def get_test_logs(
309309
self,
310-
) -> Tuple[List[SDKLogRecord], ExportLogsServiceRequest]:
310+
) -> Tuple[List[ReadWriteLogRecord], ExportLogsServiceRequest]:
311311
sdk_logs = self._get_sdk_log_data()
312312

313313
pb2_service_request = ExportLogsServiceRequest(
@@ -600,7 +600,7 @@ def get_test_logs(
600600
return sdk_logs, pb2_service_request
601601

602602
@staticmethod
603-
def _get_test_logs_dropped_attributes() -> List[SDKLogRecord]:
603+
def _get_test_logs_dropped_attributes() -> List[ReadWriteLogRecord]:
604604
ctx_log1 = set_span_in_context(
605605
NonRecordingSpan(
606606
SpanContext(
@@ -611,7 +611,7 @@ def _get_test_logs_dropped_attributes() -> List[SDKLogRecord]:
611611
)
612612
)
613613
)
614-
log1 = SDKLogRecord(
614+
log1 = ReadWriteLogRecord(
615615
LogRecord(
616616
timestamp=1644650195189786880,
617617
context=ctx_log1,
@@ -629,7 +629,7 @@ def _get_test_logs_dropped_attributes() -> List[SDKLogRecord]:
629629
ctx_log2 = set_span_in_context(
630630
NonRecordingSpan(SpanContext(0, 0, False))
631631
)
632-
log2 = SDKLogRecord(
632+
log2 = ReadWriteLogRecord(
633633
LogRecord(
634634
timestamp=1644650249738562048,
635635
context=ctx_log2,

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from opentelemetry.proto.collector.logs.v1.logs_service_pb2_grpc import (
2929
LogsServiceStub,
3030
)
31-
from opentelemetry.sdk._logs import SDKLogRecord
31+
from opentelemetry.sdk._logs import ReadableLogRecord
3232
from opentelemetry.sdk._logs.export import LogExporter, LogExportResult
3333
from opentelemetry.sdk.environment_variables import (
3434
OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE,
@@ -44,7 +44,9 @@
4444

4545
class OTLPLogExporter(
4646
LogExporter,
47-
OTLPExporterMixin[SDKLogRecord, ExportLogsServiceRequest, LogExportResult],
47+
OTLPExporterMixin[
48+
ReadableLogRecord, ExportLogsServiceRequest, LogExportResult
49+
],
4850
):
4951
_result = LogExportResult
5052
_stub = LogsServiceStub
@@ -104,11 +106,11 @@ def __init__(
104106
)
105107

106108
def _translate_data(
107-
self, data: Sequence[SDKLogRecord]
109+
self, data: Sequence[ReadableLogRecord]
108110
) -> ExportLogsServiceRequest:
109111
return encode_logs(data)
110112

111-
def export(self, batch: Sequence[SDKLogRecord]) -> LogExportResult:
113+
def export(self, batch: Sequence[ReadableLogRecord]) -> LogExportResult:
112114
return self._export(batch)
113115

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

exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py

Lines changed: 6 additions & 6 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 OTLPResource,
4141
)
42-
from opentelemetry.sdk._logs import SDKLogRecord
42+
from opentelemetry.sdk._logs import ReadWriteLogRecord
4343
from opentelemetry.sdk.environment_variables import (
4444
OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE,
4545
OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE,
@@ -74,7 +74,7 @@ def setUp(self):
7474
)
7575
)
7676
)
77-
self.log_data_1 = SDKLogRecord(
77+
self.log_data_1 = ReadWriteLogRecord(
7878
LogRecord(
7979
timestamp=int(time.time() * 1e9),
8080
context=ctx_log_data_1,
@@ -98,7 +98,7 @@ def setUp(self):
9898
)
9999
)
100100
)
101-
self.log_data_2 = SDKLogRecord(
101+
self.log_data_2 = ReadWriteLogRecord(
102102
LogRecord(
103103
timestamp=int(time.time() * 1e9),
104104
context=ctx_log_data_2,
@@ -122,7 +122,7 @@ def setUp(self):
122122
)
123123
)
124124
)
125-
self.log_data_3 = SDKLogRecord(
125+
self.log_data_3 = ReadWriteLogRecord(
126126
LogRecord(
127127
timestamp=int(time.time() * 1e9),
128128
context=ctx_log_data_3,
@@ -140,7 +140,7 @@ def setUp(self):
140140
SpanContext(0, 5213367945872657629, False, TraceFlags(0x01))
141141
)
142142
)
143-
self.log_data_4 = SDKLogRecord(
143+
self.log_data_4 = ReadWriteLogRecord(
144144
LogRecord(
145145
timestamp=int(time.time() * 1e9),
146146
context=ctx_log_data_4,
@@ -163,7 +163,7 @@ def setUp(self):
163163
)
164164
)
165165
)
166-
self.log_data_5 = SDKLogRecord(
166+
self.log_data_5 = ReadWriteLogRecord(
167167
LogRecord(
168168
timestamp=int(time.time() * 1e9),
169169
context=ctx_log_data_5,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from opentelemetry.exporter.otlp.proto.http._common import (
3434
_is_retryable,
3535
)
36-
from opentelemetry.sdk._logs import SDKLogRecord
36+
from opentelemetry.sdk._logs import ReadableLogRecord
3737
from opentelemetry.sdk._logs.export import (
3838
LogExporter,
3939
LogExportResult,
@@ -163,7 +163,7 @@ def _export(
163163
)
164164
return resp
165165

166-
def export(self, batch: Sequence[SDKLogRecord]) -> LogExportResult:
166+
def export(self, batch: Sequence[ReadableLogRecord]) -> LogExportResult:
167167
if self._shutdown:
168168
_logger.warning("Exporter already shutdown, ignoring batch")
169169
return LogExportResult.FAILURE

exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from opentelemetry.proto.collector.logs.v1.logs_service_pb2 import (
4040
ExportLogsServiceRequest,
4141
)
42-
from opentelemetry.sdk._logs import SDKLogRecord
42+
from opentelemetry.sdk._logs import ReadWriteLogRecord
4343
from opentelemetry.sdk._logs.export import LogExportResult
4444
from opentelemetry.sdk.environment_variables import (
4545
OTEL_EXPORTER_OTLP_CERTIFICATE,
@@ -232,7 +232,7 @@ def test_exported_log_without_trace_id(self):
232232
)
233233
)
234234
)
235-
log = SDKLogRecord(
235+
log = ReadWriteLogRecord(
236236
LogRecord(
237237
timestamp=1644650195189786182,
238238
context=ctx,
@@ -268,7 +268,7 @@ def test_exported_log_without_span_id(self):
268268
)
269269
)
270270

271-
log = SDKLogRecord(
271+
log = ReadWriteLogRecord(
272272
LogRecord(
273273
timestamp=1644650195189786360,
274274
context=ctx,
@@ -293,7 +293,7 @@ def test_exported_log_without_span_id(self):
293293
self.fail("No log records found")
294294

295295
@staticmethod
296-
def _get_sdk_log_data() -> List[SDKLogRecord]:
296+
def _get_sdk_log_data() -> List[ReadWriteLogRecord]:
297297
ctx_log1 = set_span_in_context(
298298
NonRecordingSpan(
299299
SpanContext(
@@ -304,7 +304,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
304304
)
305305
)
306306
)
307-
log1 = SDKLogRecord(
307+
log1 = ReadWriteLogRecord(
308308
LogRecord(
309309
timestamp=1644650195189786880,
310310
context=ctx_log1,
@@ -328,7 +328,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
328328
)
329329
)
330330
)
331-
log2 = SDKLogRecord(
331+
log2 = ReadWriteLogRecord(
332332
LogRecord(
333333
timestamp=1644650249738562048,
334334
context=ctx_log2,
@@ -352,7 +352,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
352352
)
353353
)
354354
)
355-
log3 = SDKLogRecord(
355+
log3 = ReadWriteLogRecord(
356356
LogRecord(
357357
timestamp=1644650427658989056,
358358
context=ctx_log3,
@@ -374,7 +374,7 @@ def _get_sdk_log_data() -> List[SDKLogRecord]:
374374
)
375375
)
376376
)
377-
log4 = SDKLogRecord(
377+
log4 = ReadWriteLogRecord(
378378
LogRecord(
379379
timestamp=1644650584292683008,
380380
context=ctx_log4,

opentelemetry-sdk/src/opentelemetry/sdk/_events/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
SeverityNumber,
2525
get_logger_provider,
2626
)
27-
from opentelemetry.sdk._logs import Logger, LoggerProvider, SDKLogRecord
27+
from opentelemetry.sdk._logs import Logger, LoggerProvider, ReadWriteLogRecord
2828
from opentelemetry.util.types import _ExtendedAttributes
2929

3030
_logger = logging.getLogger(__name__)
@@ -53,7 +53,7 @@ def emit(self, event: Event) -> None:
5353
if isinstance(self._logger, NoOpLogger):
5454
# Do nothing if SDK is disabled
5555
return
56-
log_record = SDKLogRecord(
56+
log_record = ReadWriteLogRecord(
5757
LogRecord(
5858
timestamp=event.timestamp or time_ns(),
5959
observed_timestamp=None,

0 commit comments

Comments
 (0)