Skip to content

Commit 5b6e9b9

Browse files
frailltcijothomas
andauthored
Time is not optional in DataPoints (#2367)
Co-authored-by: Cijo Thomas <[email protected]>
1 parent 6b71301 commit 5b6e9b9

File tree

7 files changed

+40
-44
lines changed

7 files changed

+40
-44
lines changed

opentelemetry-proto/src/transform/metrics.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,8 @@ pub mod tonic {
295295
.iter()
296296
.map(|dp| TonicNumberDataPoint {
297297
attributes: dp.attributes.iter().map(Into::into).collect(),
298-
start_time_unix_nano: dp.start_time.map(to_nanos).unwrap_or_default(),
299-
time_unix_nano: dp.time.map(to_nanos).unwrap_or_default(),
298+
start_time_unix_nano: to_nanos(dp.start_time),
299+
time_unix_nano: to_nanos(dp.time),
300300
exemplars: dp.exemplars.iter().map(Into::into).collect(),
301301
flags: TonicDataPointFlags::default() as u32,
302302
value: Some(dp.value.into()),
@@ -319,8 +319,8 @@ pub mod tonic {
319319
.iter()
320320
.map(|dp| TonicNumberDataPoint {
321321
attributes: dp.attributes.iter().map(Into::into).collect(),
322-
start_time_unix_nano: dp.start_time.map(to_nanos).unwrap_or_default(),
323-
time_unix_nano: dp.time.map(to_nanos).unwrap_or_default(),
322+
start_time_unix_nano: to_nanos(dp.start_time),
323+
time_unix_nano: to_nanos(dp.time),
324324
exemplars: dp.exemplars.iter().map(Into::into).collect(),
325325
flags: TonicDataPointFlags::default() as u32,
326326
value: Some(dp.value.into()),

opentelemetry-sdk/src/metrics/data/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ pub struct DataPoint<T> {
9797
/// time series.
9898
pub attributes: Vec<KeyValue>,
9999
/// The time when the time series was started.
100-
pub start_time: Option<SystemTime>,
100+
pub start_time: SystemTime,
101101
/// The time when the time series was recorded.
102-
pub time: Option<SystemTime>,
102+
pub time: SystemTime,
103103
/// The value of this data point.
104104
pub value: T,
105105
/// The sampled [Exemplar]s collected during the time series.
@@ -338,8 +338,8 @@ mod tests {
338338
fn validate_cloning_data_points() {
339339
let data_type = DataPoint {
340340
attributes: vec![KeyValue::new("key", "value")],
341-
start_time: Some(std::time::SystemTime::now()),
342-
time: Some(std::time::SystemTime::now()),
341+
start_time: std::time::SystemTime::now(),
342+
time: std::time::SystemTime::now(),
343343
value: 0u32,
344344
exemplars: vec![Exemplar {
345345
filtered_attributes: vec![],

opentelemetry-sdk/src/metrics/internal/aggregate.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@ mod tests {
224224
let mut a = Gauge {
225225
data_points: vec![DataPoint {
226226
attributes: vec![KeyValue::new("a", 1)],
227-
start_time: Some(SystemTime::now()),
228-
time: Some(SystemTime::now()),
227+
start_time: SystemTime::now(),
228+
time: SystemTime::now(),
229229
value: 1u64,
230230
exemplars: vec![],
231231
}],
@@ -251,15 +251,15 @@ mod tests {
251251
data_points: vec![
252252
DataPoint {
253253
attributes: vec![KeyValue::new("a1", 1)],
254-
start_time: Some(SystemTime::now()),
255-
time: Some(SystemTime::now()),
254+
start_time: SystemTime::now(),
255+
time: SystemTime::now(),
256256
value: 1u64,
257257
exemplars: vec![],
258258
},
259259
DataPoint {
260260
attributes: vec![KeyValue::new("a2", 1)],
261-
start_time: Some(SystemTime::now()),
262-
time: Some(SystemTime::now()),
261+
start_time: SystemTime::now(),
262+
time: SystemTime::now(),
263263
value: 2u64,
264264
exemplars: vec![],
265265
},
@@ -294,15 +294,15 @@ mod tests {
294294
data_points: vec![
295295
DataPoint {
296296
attributes: vec![KeyValue::new("a1", 1)],
297-
start_time: Some(SystemTime::now()),
298-
time: Some(SystemTime::now()),
297+
start_time: SystemTime::now(),
298+
time: SystemTime::now(),
299299
value: 1u64,
300300
exemplars: vec![],
301301
},
302302
DataPoint {
303303
attributes: vec![KeyValue::new("a2", 1)],
304-
start_time: Some(SystemTime::now()),
305-
time: Some(SystemTime::now()),
304+
start_time: SystemTime::now(),
305+
time: SystemTime::now(),
306306
value: 2u64,
307307
exemplars: vec![],
308308
},

opentelemetry-sdk/src/metrics/internal/last_value.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ impl<T: Number> LastValue<T> {
6666
self.value_map
6767
.collect_and_reset(dest, |attributes, aggr| DataPoint {
6868
attributes,
69-
start_time: Some(prev_start),
70-
time: Some(t),
69+
start_time: prev_start,
70+
time: t,
7171
value: aggr.value.get_value(),
7272
exemplars: vec![],
7373
});
@@ -79,8 +79,8 @@ impl<T: Number> LastValue<T> {
7979
self.value_map
8080
.collect_readonly(dest, |attributes, aggr| DataPoint {
8181
attributes,
82-
start_time: Some(prev_start),
83-
time: Some(t),
82+
start_time: prev_start,
83+
time: t,
8484
value: aggr.value.get_value(),
8585
exemplars: vec![],
8686
});

opentelemetry-sdk/src/metrics/internal/precomputed_sum.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ impl<T: Number> PrecomputedSum<T> {
6868
let delta = value - *reported.get(&attributes).unwrap_or(&T::default());
6969
DataPoint {
7070
attributes,
71-
start_time: Some(prev_start),
72-
time: Some(t),
71+
start_time: prev_start,
72+
time: t,
7373
value: delta,
7474
exemplars: vec![],
7575
}
@@ -109,8 +109,8 @@ impl<T: Number> PrecomputedSum<T> {
109109
self.value_map
110110
.collect_readonly(&mut s_data.data_points, |attributes, aggr| DataPoint {
111111
attributes,
112-
start_time: Some(prev_start),
113-
time: Some(t),
112+
start_time: prev_start,
113+
time: t,
114114
value: aggr.value.get_value(),
115115
exemplars: vec![],
116116
});

opentelemetry-sdk/src/metrics/internal/sum.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ impl<T: Number> Sum<T> {
9595
self.value_map
9696
.collect_and_reset(&mut s_data.data_points, |attributes, aggr| DataPoint {
9797
attributes,
98-
start_time: Some(prev_start),
99-
time: Some(t),
98+
start_time: prev_start,
99+
time: t,
100100
value: aggr.value.get_value(),
101101
exemplars: vec![],
102102
});
@@ -132,8 +132,8 @@ impl<T: Number> Sum<T> {
132132
self.value_map
133133
.collect_readonly(&mut s_data.data_points, |attributes, aggr| DataPoint {
134134
attributes,
135-
start_time: Some(prev_start),
136-
time: Some(t),
135+
start_time: prev_start,
136+
time: t,
137137
value: aggr.value.get_value(),
138138
exemplars: vec![],
139139
});

opentelemetry-stdout/src/metrics/exporter.rs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -163,20 +163,16 @@ fn print_histogram<T: Debug>(histogram: &data::Histogram<T>) {
163163
fn print_data_points<T: Debug>(data_points: &[data::DataPoint<T>]) {
164164
for (i, data_point) in data_points.iter().enumerate() {
165165
println!("\t\tDataPoint #{}", i);
166-
if let Some(start_time) = data_point.start_time {
167-
let datetime: DateTime<Utc> = start_time.into();
168-
println!(
169-
"\t\t\tStartTime : {}",
170-
datetime.format("%Y-%m-%d %H:%M:%S%.6f")
171-
);
172-
}
173-
if let Some(end_time) = data_point.time {
174-
let datetime: DateTime<Utc> = end_time.into();
175-
println!(
176-
"\t\t\tEndTime : {}",
177-
datetime.format("%Y-%m-%d %H:%M:%S%.6f")
178-
);
179-
}
166+
let datetime: DateTime<Utc> = data_point.start_time.into();
167+
println!(
168+
"\t\t\tStartTime : {}",
169+
datetime.format("%Y-%m-%d %H:%M:%S%.6f")
170+
);
171+
let datetime: DateTime<Utc> = data_point.time.into();
172+
println!(
173+
"\t\t\tEndTime : {}",
174+
datetime.format("%Y-%m-%d %H:%M:%S%.6f")
175+
);
180176
println!("\t\t\tValue : {:#?}", data_point.value);
181177
println!("\t\t\tAttributes :");
182178
for kv in data_point.attributes.iter() {

0 commit comments

Comments
 (0)