Skip to content

Commit 537ad87

Browse files
committed
Fix and expand tests
1 parent 2cb787c commit 537ad87

File tree

1 file changed

+23
-18
lines changed
  • lib/vector-core/src/source_sender

1 file changed

+23
-18
lines changed

lib/vector-core/src/source_sender/tests.rs

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ fn assert_counter_metric(metrics: &[Metric], name: &str, expected: f64) {
240240
}
241241

242242
#[tokio::test]
243+
#[expect(clippy::cast_precision_loss)]
243244
async fn emits_buffer_utilization_histogram_on_send_and_receive() {
244245
metrics::init_test();
245246
let buffer_size = 2;
@@ -259,30 +260,34 @@ async fn emits_buffer_utilization_histogram_on_send_and_receive() {
259260
assert!(recv.next().await.is_some());
260261
assert!(recv.next().await.is_some());
261262

262-
let utilization_metrics = Controller::get()
263+
let metrics: Vec<_> = Controller::get()
263264
.expect("metrics controller available")
264265
.capture_metrics()
265266
.into_iter()
266-
.filter(|metric| metric.name() == "source_sender_buffer_utilization")
267-
.collect::<Vec<_>>();
268-
assert_eq!(
269-
utilization_metrics.len(),
270-
1,
271-
"expected a single utilization histogram"
272-
);
267+
.filter(|metric| metric.name().starts_with("source_sender_buffer_"))
268+
.collect();
269+
assert_eq!(metrics.len(), 3, "expected 3 utilization metrics");
270+
271+
let find_metric = |name: &str| {
272+
metrics
273+
.iter()
274+
.find(|m| m.name() == name)
275+
.unwrap_or_else(|| panic!("missing metric: {name}"))
276+
};
273277

274-
let metric = &utilization_metrics[0];
278+
let metric = find_metric("source_sender_buffer_utilization");
275279
let tags = metric.tags().expect("utilization histogram has tags");
276-
let max_events = buffer_size.to_string();
277280
assert_eq!(tags.get("output"), Some("_default"));
278-
assert_eq!(tags.get("max_events"), Some(max_events.as_str()));
279281

280-
let MetricValue::AggregatedHistogram { count, sum, .. } = metric.value() else {
281-
panic!("source_sender_buffer_utilization should be a histogram");
282+
let metric = find_metric("source_sender_buffer_utilization_level");
283+
let MetricValue::Gauge { value } = metric.value() else {
284+
panic!("source_sender_buffer_utilization_level should be a gauge");
282285
};
283-
assert_eq!(*count, 2, "one sample per send expected");
284-
assert!(
285-
(*sum - 3.0).abs() <= 0.001,
286-
"unexpected histogram sum: expected 3.0, got {sum}"
287-
);
286+
assert_eq!(*value, 2.0);
287+
288+
let metric = find_metric("source_sender_buffer_max_event_size");
289+
let MetricValue::Gauge { value } = metric.value() else {
290+
panic!("source_sender_buffer_max_event_size should be a gauge");
291+
};
292+
assert_eq!(*value, buffer_size as f64);
288293
}

0 commit comments

Comments
 (0)