Skip to content

Commit 6879f42

Browse files
committed
fix logrecord move leftovers
1 parent 19d3223 commit 6879f42

File tree

5 files changed

+43
-7
lines changed

5 files changed

+43
-7
lines changed

opentelemetry-proto/src/transform/logs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ pub mod tonic {
8383

8484
LogRecord {
8585
time_unix_nano: log_record.timestamp.map(to_nanos).unwrap_or_default(),
86-
observed_time_unix_nano: to_nanos(log_record.observed_timestamp.unwrap()),
86+
observed_time_unix_nano: to_nanos(log_record.observed_timestamp),
8787
severity_number: severity_number.into(),
8888
severity_text: log_record.severity_text.map(Into::into).unwrap_or_default(),
8989
body: log_record.body.map(Into::into),

opentelemetry-sdk/src/logs/record.rs

+29-4
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,19 @@ use opentelemetry::{
55
};
66
use std::{borrow::Cow, time::SystemTime};
77

8-
#[derive(Debug, Clone, Default)]
8+
#[derive(Debug, Clone)]
99
#[non_exhaustive]
1010
/// LogRecord represents all data carried by a log record, and
1111
/// is provided to `LogExporter`s as input.
1212
pub struct LogRecord {
13+
/// Event name. Optional as not all the logging API support it.
14+
pub event_name: Option<Cow<'static, str>>,
15+
1316
/// Record timestamp
1417
pub timestamp: Option<SystemTime>,
1518

1619
/// Timestamp for when the record was observed by OpenTelemetry
17-
pub observed_timestamp: Option<SystemTime>,
20+
pub observed_timestamp: SystemTime,
1821

1922
/// Trace context for logs associated with spans
2023
pub trace_context: Option<TraceContext>,
@@ -31,13 +34,35 @@ pub struct LogRecord {
3134
pub attributes: Option<Vec<(Key, AnyValue)>>,
3235
}
3336

37+
impl Default for LogRecord {
38+
fn default() -> Self {
39+
LogRecord {
40+
event_name: None,
41+
timestamp: None,
42+
observed_timestamp: SystemTime::now(),
43+
trace_context: None,
44+
severity_text: None,
45+
severity_number: None,
46+
body: None,
47+
attributes: None,
48+
}
49+
}
50+
}
51+
3452
impl opentelemetry::logs::LogRecord for LogRecord {
53+
fn set_event_name<T>(&mut self, name: T)
54+
where
55+
T: Into<Cow<'static, str>>,
56+
{
57+
self.event_name = Some(name.into());
58+
}
59+
3560
fn set_timestamp(&mut self, timestamp: SystemTime) {
3661
self.timestamp = Some(timestamp);
3762
}
3863

3964
fn set_observed_timestamp(&mut self, timestamp: SystemTime) {
40-
self.observed_timestamp = Some(timestamp);
65+
self.observed_timestamp = timestamp;
4166
}
4267

4368
fn set_severity_text(&mut self, severity_text: Cow<'static, str>) {
@@ -112,7 +137,7 @@ mod tests {
112137
let mut log_record = LogRecord::default();
113138
let now = SystemTime::now();
114139
log_record.set_observed_timestamp(now);
115-
assert_eq!(log_record.observed_timestamp, Some(now));
140+
assert_eq!(log_record.observed_timestamp, now);
116141
}
117142

118143
#[test]

opentelemetry-stdout/src/logs/transform.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ impl From<opentelemetry_sdk::export::logs::LogData> for LogRecord {
125125
.unwrap_or_default(),
126126
time_unix_nano: value.record.timestamp,
127127
time: value.record.timestamp,
128-
observed_time_unix_nano: value.record.observed_timestamp.unwrap(),
129-
observed_time: value.record.observed_timestamp.unwrap(),
128+
observed_time_unix_nano: value.record.observed_timestamp,
129+
observed_time: value.record.observed_timestamp,
130130
severity_number: value
131131
.record
132132
.severity_number

opentelemetry/src/logs/noop.rs

+6
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ pub struct NoopLogRecord;
4141
impl LogRecord for NoopLogRecord {
4242
// Implement the LogRecord trait methods with empty bodies.
4343
#[inline]
44+
fn set_event_name<T>(&mut self, _name: T)
45+
where
46+
T: Into<Cow<'static, str>>,
47+
{
48+
}
49+
#[inline]
4450
fn set_timestamp(&mut self, _timestamp: SystemTime) {}
4551
#[inline]
4652
fn set_observed_timestamp(&mut self, _timestamp: SystemTime) {}

opentelemetry/src/logs/record.rs

+5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ use std::{borrow::Cow, collections::HashMap, time::SystemTime};
33

44
/// SDK implemented trait for managing log records
55
pub trait LogRecord {
6+
/// Sets the `event_name` of a record
7+
fn set_event_name<T>(&mut self, name: T)
8+
where
9+
T: Into<Cow<'static, str>>;
10+
611
/// Sets the time when the event occurred measured by the origin clock, i.e. the time at the source.
712
fn set_timestamp(&mut self, timestamp: SystemTime);
813

0 commit comments

Comments
 (0)