Skip to content

Commit 6182bb0

Browse files
authored
Fix otlp exporter to export log_record.observed_timestamp (#3785)
1 parent 700848b commit 6182bb0

File tree

4 files changed

+17
-2
lines changed

4 files changed

+17
-2
lines changed

CHANGELOG.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
([#3633](https://github.com/open-telemetry/opentelemetry-python/pull/3633))
1616
- Fix python 3.12 deprecation warning
1717
([#3751](https://github.com/open-telemetry/opentelemetry-python/pull/3751))
18-
- Add to_json method to ExponentialHistogram
19-
([#3780](https://github.com/open-telemetry/opentelemetry-python/pull/3780))
2018
- bump mypy to 0.982
2119
([#3776](https://github.com/open-telemetry/opentelemetry-python/pull/3776))
20+
- Fix otlp exporter to export log_record.observed_timestamp
21+
([#3785](https://github.com/open-telemetry/opentelemetry-python/pull/3785))
22+
- Add to_json method to ExponentialHistogram
23+
([#3780](https://github.com/open-telemetry/opentelemetry-python/pull/3780))
2224
- Add support for OTEL_SDK_DISABLED environment variable
2325
([#3648](https://github.com/open-telemetry/opentelemetry-python/pull/3648))
2426
- Fix ValueError message for PeriodicExportingMetricsReader

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

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def encode_logs(batch: Sequence[LogData]) -> ExportLogsServiceRequest:
4141
def _encode_log(log_data: LogData) -> PB2LogRecord:
4242
return PB2LogRecord(
4343
time_unix_nano=log_data.log_record.timestamp,
44+
observed_time_unix_nano=log_data.log_record.observed_timestamp,
4445
span_id=_encode_span_id(log_data.log_record.span_id),
4546
trace_id=_encode_trace_id(log_data.log_record.trace_id),
4647
flags=int(log_data.log_record.trace_flags),

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

+8
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ def _get_sdk_log_data() -> List[LogData]:
6969
log1 = LogData(
7070
log_record=SDKLogRecord(
7171
timestamp=1644650195189786880,
72+
observed_timestamp=1644650195189786881,
7273
trace_id=89564621134313219400156819398935297684,
7374
span_id=1312458408527513268,
7475
trace_flags=TraceFlags(0x01),
@@ -89,6 +90,7 @@ def _get_sdk_log_data() -> List[LogData]:
8990
log2 = LogData(
9091
log_record=SDKLogRecord(
9192
timestamp=1644650249738562048,
93+
observed_timestamp=1644650249738562049,
9294
trace_id=0,
9395
span_id=0,
9496
trace_flags=TraceFlags.DEFAULT,
@@ -106,6 +108,7 @@ def _get_sdk_log_data() -> List[LogData]:
106108
log3 = LogData(
107109
log_record=SDKLogRecord(
108110
timestamp=1644650427658989056,
111+
observed_timestamp=1644650427658989057,
109112
trace_id=271615924622795969659406376515024083555,
110113
span_id=4242561578944770265,
111114
trace_flags=TraceFlags(0x01),
@@ -121,6 +124,7 @@ def _get_sdk_log_data() -> List[LogData]:
121124
log4 = LogData(
122125
log_record=SDKLogRecord(
123126
timestamp=1644650584292683008,
127+
observed_timestamp=1644650584292683009,
124128
trace_id=212592107417388365804938480559624925555,
125129
span_id=6077757853989569223,
126130
trace_flags=TraceFlags(0x01),
@@ -164,6 +168,7 @@ def get_test_logs(
164168
log_records=[
165169
PB2LogRecord(
166170
time_unix_nano=1644650195189786880,
171+
observed_time_unix_nano=1644650195189786881,
167172
trace_id=_encode_trace_id(
168173
89564621134313219400156819398935297684
169174
),
@@ -190,6 +195,7 @@ def get_test_logs(
190195
log_records=[
191196
PB2LogRecord(
192197
time_unix_nano=1644650584292683008,
198+
observed_time_unix_nano=1644650584292683009,
193199
trace_id=_encode_trace_id(
194200
212592107417388365804938480559624925555
195201
),
@@ -232,6 +238,7 @@ def get_test_logs(
232238
log_records=[
233239
PB2LogRecord(
234240
time_unix_nano=1644650249738562048,
241+
observed_time_unix_nano=1644650249738562049,
235242
trace_id=_encode_trace_id(0),
236243
span_id=_encode_span_id(0),
237244
flags=int(TraceFlags.DEFAULT),
@@ -249,6 +256,7 @@ def get_test_logs(
249256
log_records=[
250257
PB2LogRecord(
251258
time_unix_nano=1644650427658989056,
259+
observed_time_unix_nano=1644650427658989057,
252260
trace_id=_encode_trace_id(
253261
271615924622795969659406376515024083555
254262
),

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

+4
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ def test_translate_log_data(self):
361361
PB2LogRecord(
362362
# pylint: disable=no-member
363363
time_unix_nano=self.log_data_1.log_record.timestamp,
364+
observed_time_unix_nano=self.log_data_1.log_record.observed_timestamp,
364365
severity_number=self.log_data_1.log_record.severity_number.value,
365366
severity_text="WARNING",
366367
span_id=int.to_bytes(
@@ -420,6 +421,7 @@ def test_translate_multiple_logs(self):
420421
PB2LogRecord(
421422
# pylint: disable=no-member
422423
time_unix_nano=self.log_data_1.log_record.timestamp,
424+
observed_time_unix_nano=self.log_data_1.log_record.observed_timestamp,
423425
severity_number=self.log_data_1.log_record.severity_number.value,
424426
severity_text="WARNING",
425427
span_id=int.to_bytes(
@@ -457,6 +459,7 @@ def test_translate_multiple_logs(self):
457459
PB2LogRecord(
458460
# pylint: disable=no-member
459461
time_unix_nano=self.log_data_2.log_record.timestamp,
462+
observed_time_unix_nano=self.log_data_2.log_record.observed_timestamp,
460463
severity_number=self.log_data_2.log_record.severity_number.value,
461464
severity_text="INFO",
462465
span_id=int.to_bytes(
@@ -502,6 +505,7 @@ def test_translate_multiple_logs(self):
502505
PB2LogRecord(
503506
# pylint: disable=no-member
504507
time_unix_nano=self.log_data_3.log_record.timestamp,
508+
observed_time_unix_nano=self.log_data_3.log_record.observed_timestamp,
505509
severity_number=self.log_data_3.log_record.severity_number.value,
506510
severity_text="ERROR",
507511
span_id=int.to_bytes(

0 commit comments

Comments
 (0)