From a3395ba97218b91f3d743b0af1a8086d108eb5f0 Mon Sep 17 00:00:00 2001 From: William Perron Date: Tue, 3 Jun 2025 13:56:32 -0400 Subject: [PATCH] fix(otel): set timestamp on opentelemetry log records (#28625) Co-authored-by: David Sherret --- ext/telemetry/lib.rs | 12 +++++++++--- tests/specs/cli/otel_basic/basic.out | 4 ++-- tests/specs/cli/otel_basic/deno_dot_exit.out | 2 +- tests/specs/cli/otel_basic/natural_exit.out | 2 +- tests/specs/cli/otel_basic/uncaught.out | 4 ++-- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/ext/telemetry/lib.rs b/ext/telemetry/lib.rs index ca705526fe..5459a79c5b 100644 --- a/ext/telemetry/lib.rs +++ b/ext/telemetry/lib.rs @@ -882,7 +882,9 @@ pub fn handle_log(record: &log::Record) { let mut log_record = LogRecord::default(); - log_record.set_observed_timestamp(SystemTime::now()); + let now = SystemTime::now(); + log_record.set_timestamp(now); + log_record.set_observed_timestamp(now); log_record.set_severity_number(match record.level() { Level::Error => Severity::Error, Level::Warn => Severity::Warn, @@ -1124,7 +1126,9 @@ fn op_otel_log<'s>( }; let mut log_record = LogRecord::default(); - log_record.set_observed_timestamp(SystemTime::now()); + let now = SystemTime::now(); + log_record.set_timestamp(now); + log_record.set_observed_timestamp(now); let Ok(message) = message.try_cast() else { return; }; @@ -1188,7 +1192,9 @@ fn op_otel_log_foreign( let mut log_record = LogRecord::default(); - log_record.set_observed_timestamp(SystemTime::now()); + let now = SystemTime::now(); + log_record.set_timestamp(now); + log_record.set_observed_timestamp(now); log_record.set_body(message.into()); log_record.set_severity_number(severity); log_record.set_severity_text(severity.name()); diff --git a/tests/specs/cli/otel_basic/basic.out b/tests/specs/cli/otel_basic/basic.out index c6be81f7b7..9e81006a7e 100644 --- a/tests/specs/cli/otel_basic/basic.out +++ b/tests/specs/cli/otel_basic/basic.out @@ -161,7 +161,7 @@ ], "logs": [ { - "timeUnixNano": "0", + "timeUnixNano": "[WILDLINE]", "observedTimeUnixNano": "[WILDCARD]", "severityNumber": 9, "severityText": "INFO", @@ -175,7 +175,7 @@ "spanId": "0000000000000004" }, { - "timeUnixNano": "0", + "timeUnixNano": "[WILDLINE]", "observedTimeUnixNano": "[WILDCARD]", "severityNumber": 9, "severityText": "INFO", diff --git a/tests/specs/cli/otel_basic/deno_dot_exit.out b/tests/specs/cli/otel_basic/deno_dot_exit.out index 025fdfc874..a87bbf1534 100644 --- a/tests/specs/cli/otel_basic/deno_dot_exit.out +++ b/tests/specs/cli/otel_basic/deno_dot_exit.out @@ -2,7 +2,7 @@ "spans": [], "logs": [ { - "timeUnixNano": "0", + "timeUnixNano": "[WILDCARD]", "observedTimeUnixNano": "[WILDCARD]", "severityNumber": 9, "severityText": "INFO", diff --git a/tests/specs/cli/otel_basic/natural_exit.out b/tests/specs/cli/otel_basic/natural_exit.out index 025fdfc874..e4b97161e0 100644 --- a/tests/specs/cli/otel_basic/natural_exit.out +++ b/tests/specs/cli/otel_basic/natural_exit.out @@ -2,7 +2,7 @@ "spans": [], "logs": [ { - "timeUnixNano": "0", + "timeUnixNano": "[WILDLINE]", "observedTimeUnixNano": "[WILDCARD]", "severityNumber": 9, "severityText": "INFO", diff --git a/tests/specs/cli/otel_basic/uncaught.out b/tests/specs/cli/otel_basic/uncaught.out index 4ff08e6dba..20bb3ce19a 100644 --- a/tests/specs/cli/otel_basic/uncaught.out +++ b/tests/specs/cli/otel_basic/uncaught.out @@ -6,7 +6,7 @@ throw new Error("uncaught"); "spans": [], "logs": [ { - "timeUnixNano": "0", + "timeUnixNano": "[WILDLINE]", "observedTimeUnixNano": "[WILDCARD]", "severityNumber": 9, "severityText": "INFO", @@ -20,7 +20,7 @@ throw new Error("uncaught"); "spanId": "" }, { - "timeUnixNano": "0", + "timeUnixNano": "[WILDLINE]", "observedTimeUnixNano": "[WILDCARD]", "severityNumber": 17, "severityText": "ERROR",