From 6b30d7e2eb5d694db89c9706a60008c61ae60168 Mon Sep 17 00:00:00 2001 From: Matthew Shapiro Date: Thu, 8 Feb 2024 15:15:28 -0500 Subject: [PATCH] Final test fix --- opentelemetry-sdk/src/metrics/internal/sum.rs | 20 +++++++++++++++---- opentelemetry-sdk/src/metrics/mod.rs | 8 +++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/opentelemetry-sdk/src/metrics/internal/sum.rs b/opentelemetry-sdk/src/metrics/internal/sum.rs index 9bf725943a..83a6b07858 100644 --- a/opentelemetry-sdk/src/metrics/internal/sum.rs +++ b/opentelemetry-sdk/src/metrics/internal/sum.rs @@ -154,7 +154,10 @@ impl> Sum { *start = t; } - (n, new_agg.map(|a| Box::new(a) as Box<_>)) + ( + s_data.data_points.len(), + new_agg.map(|a| Box::new(a) as Box<_>), + ) } pub(crate) fn cumulative( @@ -220,7 +223,10 @@ impl> Sum { }); } - (n, new_agg.map(|a| Box::new(a) as Box<_>)) + ( + s_data.data_points.len(), + new_agg.map(|a| Box::new(a) as Box<_>), + ) } } @@ -322,7 +328,10 @@ impl> PrecomputedSum { *reported = new_reported; drop(reported); // drop before values guard is dropped - (n, new_agg.map(|a| Box::new(a) as Box<_>)) + ( + s_data.data_points.len(), + new_agg.map(|a| Box::new(a) as Box<_>), + ) } pub(crate) fn cumulative( @@ -396,6 +405,9 @@ impl> PrecomputedSum { *reported = new_reported; drop(reported); // drop before values guard is dropped - (n, new_agg.map(|a| Box::new(a) as Box<_>)) + ( + s_data.data_points.len(), + new_agg.map(|a| Box::new(a) as Box<_>), + ) } } diff --git a/opentelemetry-sdk/src/metrics/mod.rs b/opentelemetry-sdk/src/metrics/mod.rs index 65baae14f8..96e35aeba4 100644 --- a/opentelemetry-sdk/src/metrics/mod.rs +++ b/opentelemetry-sdk/src/metrics/mod.rs @@ -578,10 +578,16 @@ mod tests { test_context.flush_metrics(); let _ = test_context.get_aggregation::>("my_counter", "my_unit"); + counter.add(50, &[KeyValue::new("a", "b")]); test_context.flush_metrics(); let sum = test_context.get_aggregation::>("my_counter", "my_unit"); - assert_eq!(sum.data_points.len(), 0, "Expected only one data point"); + let no_attr_data_point = sum.data_points.iter().find(|x| x.attributes.is_empty()); + + assert!( + no_attr_data_point.is_none(), + "Expected no data points with no attributes" + ); } struct TestContext {