Skip to content

Commit c09e52e

Browse files
committed
chore(baggage): Extract helper methods for metric lookup in BaggagePropagatorTelemetryTest
1 parent 8aa0928 commit c09e52e

1 file changed

Lines changed: 31 additions & 57 deletions

File tree

dd-trace-core/src/test/java/datadog/trace/core/baggage/BaggagePropagatorTelemetryTest.java

Lines changed: 31 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
import datadog.trace.api.Config;
1212
import datadog.trace.api.metrics.BaggageMetrics;
1313
import datadog.trace.api.telemetry.CoreMetricCollector;
14+
import datadog.trace.api.telemetry.CoreMetricCollector.CoreMetric;
1415
import java.util.Collection;
1516
import java.util.Collections;
1617
import java.util.List;
1718
import java.util.Map;
1819
import java.util.stream.Collectors;
20+
import org.jetbrains.annotations.Nullable;
1921
import org.junit.jupiter.api.BeforeEach;
2022
import org.junit.jupiter.api.Test;
2123

@@ -37,13 +39,9 @@ void shouldDirectlyIncrementBaggageMetrics() {
3739

3840
baggageMetrics.onBaggageInjected();
3941
collector.prepareMetrics();
40-
Collection<CoreMetricCollector.CoreMetric> metrics = collector.drain();
42+
Collection<CoreMetric> metrics = collector.drain();
4143

42-
CoreMetricCollector.CoreMetric baggageMetric =
43-
metrics.stream()
44-
.filter(m -> "context_header_style.injected".equals(m.metricName))
45-
.findFirst()
46-
.orElse(null);
44+
CoreMetric baggageMetric = metricFromName(metrics, "context_header_style.injected");
4745
assertNotNull(baggageMetric);
4846
assertTrue(baggageMetric.value.longValue() >= 1);
4947
assertTrue(baggageMetric.tags.contains("header_style:baggage"));
@@ -63,13 +61,9 @@ void shouldIncrementTelemetryCounterWhenBaggageIsSuccessfullyExtracted() {
6361

6462
propagator.extract(context, carrier, MAP_VISITOR);
6563
collector.prepareMetrics();
66-
Collection<CoreMetricCollector.CoreMetric> metrics = collector.drain();
64+
Collection<CoreMetric> metrics = collector.drain();
6765

68-
CoreMetricCollector.CoreMetric baggageMetric =
69-
metrics.stream()
70-
.filter(m -> "context_header_style.extracted".equals(m.metricName))
71-
.findFirst()
72-
.orElse(null);
66+
CoreMetric baggageMetric = metricFromName(metrics, "context_header_style.extracted");
7367
assertNotNull(baggageMetric);
7468
assertTrue(baggageMetric.value.longValue() >= 1);
7569
assertTrue(baggageMetric.tags.contains("header_style:baggage"));
@@ -87,67 +81,35 @@ void shouldDirectlyIncrementAllBaggageMetrics() {
8781
baggageMetrics.onBaggageTruncatedByExtractByteLimit();
8882
baggageMetrics.onBaggageTruncatedByExtractItemLimit();
8983
collector.prepareMetrics();
90-
Collection<CoreMetricCollector.CoreMetric> metrics = collector.drain();
84+
Collection<CoreMetric> metrics = collector.drain();
9185

92-
CoreMetricCollector.CoreMetric injectedMetric =
93-
metrics.stream()
94-
.filter(m -> "context_header_style.injected".equals(m.metricName))
95-
.findFirst()
96-
.orElse(null);
86+
CoreMetric injectedMetric = metricFromName(metrics, "context_header_style.injected");
9787
assertNotNull(injectedMetric);
9888
assertEquals(1, injectedMetric.value.longValue());
9989
assertTrue(injectedMetric.tags.contains("header_style:baggage"));
10090

101-
CoreMetricCollector.CoreMetric malformedMetric =
102-
metrics.stream()
103-
.filter(m -> "context_header_style.malformed".equals(m.metricName))
104-
.findFirst()
105-
.orElse(null);
91+
CoreMetric malformedMetric = metricFromName(metrics, "context_header_style.malformed");
10692
assertNotNull(malformedMetric);
10793
assertEquals(1, malformedMetric.value.longValue());
10894
assertTrue(malformedMetric.tags.contains("header_style:baggage"));
10995

110-
CoreMetricCollector.CoreMetric bytesTruncatedMetric =
111-
metrics.stream()
112-
.filter(
113-
m ->
114-
"context_header.truncated".equals(m.metricName)
115-
&& m.tags.contains("truncation_reason:baggage_byte_count_exceeded"))
116-
.findFirst()
117-
.orElse(null);
96+
CoreMetric bytesTruncatedMetric =
97+
truncateMetricFromName(metrics, "truncation_reason:baggage_byte_count_exceeded");
11898
assertNotNull(bytesTruncatedMetric);
11999
assertEquals(1, bytesTruncatedMetric.value.longValue());
120100

121-
CoreMetricCollector.CoreMetric itemsTruncatedMetric =
122-
metrics.stream()
123-
.filter(
124-
m ->
125-
"context_header.truncated".equals(m.metricName)
126-
&& m.tags.contains("truncation_reason:baggage_item_count_exceeded"))
127-
.findFirst()
128-
.orElse(null);
101+
CoreMetric itemsTruncatedMetric =
102+
truncateMetricFromName(metrics, "truncation_reason:baggage_item_count_exceeded");
129103
assertNotNull(itemsTruncatedMetric);
130104
assertEquals(1, itemsTruncatedMetric.value.longValue());
131105

132-
CoreMetricCollector.CoreMetric extractBytesTruncatedMetric =
133-
metrics.stream()
134-
.filter(
135-
m ->
136-
"context_header.truncated".equals(m.metricName)
137-
&& m.tags.contains("truncation_reason:baggage_extract_byte_exceeded"))
138-
.findFirst()
139-
.orElse(null);
106+
CoreMetric extractBytesTruncatedMetric =
107+
truncateMetricFromName(metrics, "truncation_reason:baggage_extract_byte_exceeded");
140108
assertNotNull(extractBytesTruncatedMetric);
141109
assertEquals(1, extractBytesTruncatedMetric.value.longValue());
142110

143-
CoreMetricCollector.CoreMetric extractItemsTruncatedMetric =
144-
metrics.stream()
145-
.filter(
146-
m ->
147-
"context_header.truncated".equals(m.metricName)
148-
&& m.tags.contains("truncation_reason:baggage_extract_item_exceeded"))
149-
.findFirst()
150-
.orElse(null);
111+
CoreMetric extractItemsTruncatedMetric =
112+
truncateMetricFromName(metrics, "truncation_reason:baggage_extract_item_exceeded");
151113
assertNotNull(extractItemsTruncatedMetric);
152114
assertEquals(1, extractItemsTruncatedMetric.value.longValue());
153115
}
@@ -166,12 +128,24 @@ void shouldNotIncrementTelemetryCounterWhenBaggageExtractionFails() {
166128

167129
propagator.extract(context, carrier, MAP_VISITOR);
168130
collector.prepareMetrics();
169-
Collection<CoreMetricCollector.CoreMetric> metrics = collector.drain();
131+
Collection<CoreMetric> metrics = collector.drain();
170132

171-
List<CoreMetricCollector.CoreMetric> foundMetrics =
133+
List<CoreMetric> foundMetrics =
172134
metrics.stream()
173135
.filter(m -> m.metricName.startsWith("context_header_style."))
174136
.collect(Collectors.toList());
175137
assertTrue(foundMetrics.isEmpty());
176138
}
139+
140+
private static @Nullable CoreMetric metricFromName(Collection<CoreMetric> metrics, String name) {
141+
return metrics.stream().filter(m -> name.equals(m.metricName)).findFirst().orElse(null);
142+
}
143+
144+
private static @Nullable CoreMetric truncateMetricFromName(
145+
Collection<CoreMetric> metrics, String name) {
146+
return metrics.stream()
147+
.filter(m -> "context_header.truncated".equals(m.metricName) && m.tags.contains(name))
148+
.findFirst()
149+
.orElse(null);
150+
}
177151
}

0 commit comments

Comments
 (0)