1111import datadog .trace .api .Config ;
1212import datadog .trace .api .metrics .BaggageMetrics ;
1313import datadog .trace .api .telemetry .CoreMetricCollector ;
14+ import datadog .trace .api .telemetry .CoreMetricCollector .CoreMetric ;
1415import java .util .Collection ;
1516import java .util .Collections ;
1617import java .util .List ;
1718import java .util .Map ;
1819import java .util .stream .Collectors ;
20+ import org .jetbrains .annotations .Nullable ;
1921import org .junit .jupiter .api .BeforeEach ;
2022import 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