Skip to content

Commit 2026dec

Browse files
authored
Add log timestamp fallback (Azure#36263)
1 parent 71822ca commit 2026dec

File tree

1 file changed

+13
-4
lines changed
  • sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation

1 file changed

+13
-4
lines changed

sdk/monitor/azure-monitor-opentelemetry-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/LogDataMapper.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ private TelemetryItem createMessageTelemetryItem(LogRecordData log, @Nullable Lo
112112

113113
// set standard properties
114114
setOperationTags(telemetryBuilder, log);
115-
setTime(telemetryBuilder, log.getTimestampEpochNanos());
115+
setTime(telemetryBuilder, log);
116116
setItemCount(telemetryBuilder, log, itemCount);
117117

118118
// update tags
@@ -142,7 +142,7 @@ private TelemetryItem createExceptionTelemetryItem(
142142

143143
// set standard properties
144144
setOperationTags(telemetryBuilder, log);
145-
setTime(telemetryBuilder, log.getTimestampEpochNanos());
145+
setTime(telemetryBuilder, log);
146146
setItemCount(telemetryBuilder, log, itemCount);
147147

148148
// update tags
@@ -195,10 +195,19 @@ private static void setOperationName(
195195
}
196196
}
197197

198-
private static void setTime(AbstractTelemetryBuilder telemetryBuilder, long epochNanos) {
199-
telemetryBuilder.setTime(FormattedTime.offSetDateTimeFromEpochNanos(epochNanos));
198+
private static void setTime(AbstractTelemetryBuilder telemetryBuilder, LogRecordData log) {
199+
telemetryBuilder.setTime(FormattedTime.offSetDateTimeFromEpochNanos(getTimestampEpochNanosWithFallback(log)));
200200
}
201201

202+
private static long getTimestampEpochNanosWithFallback(LogRecordData log) {
203+
long timestamp = log.getTimestampEpochNanos();
204+
if (timestamp != 0) {
205+
return timestamp;
206+
}
207+
return log.getObservedTimestampEpochNanos();
208+
}
209+
210+
202211
private static void setItemCount(
203212
AbstractTelemetryBuilder telemetryBuilder, LogRecordData log, @Nullable Long itemCount) {
204213
if (itemCount == null) {

0 commit comments

Comments
 (0)