2727public class BaggagePropagator implements Propagator {
2828 private static final Logger LOG = LoggerFactory .getLogger (BaggagePropagator .class );
2929 private static final PercentEscaper UTF_ESCAPER = PercentEscaper .create ();
30+ private static final BaggageMetrics BAGGAGE_METRICS = BaggageMetrics .getInstance ();
3031 static final String BAGGAGE_KEY = "baggage" ;
3132 private final boolean injectBaggage ;
3233 private final boolean extractBaggage ;
@@ -90,13 +91,13 @@ public <C> void inject(Context context, C carrier, CarrierSetter<C> setter) {
9091 processedItems ++;
9192 // reached the max number of baggage items allowed
9293 if (processedItems == this .maxItems ) {
93- BaggageMetrics . getInstance () .onBaggageTruncatedByItemLimit ();
94+ BAGGAGE_METRICS .onBaggageTruncatedByItemLimit ();
9495 break ;
9596 }
9697 // Drop newest k/v pair if adding it leads to exceeding the limit
9798 if (currentBytes + escapedKey .size + escapedVal .size + extraBytes > this .maxBytes ) {
9899 baggageText .setLength (currentBytes );
99- BaggageMetrics . getInstance () .onBaggageTruncatedByByteLimit ();
100+ BAGGAGE_METRICS .onBaggageTruncatedByByteLimit ();
100101 break ;
101102 }
102103 currentBytes += escapedKey .size + escapedVal .size + extraBytes ;
@@ -108,7 +109,7 @@ public <C> void inject(Context context, C carrier, CarrierSetter<C> setter) {
108109 setter .set (carrier , BAGGAGE_KEY , headerValue );
109110
110111 // Record successful baggage injection for telemetry
111- BaggageMetrics . getInstance () .onBaggageInjected ();
112+ BAGGAGE_METRICS .onBaggageInjected ();
112113 }
113114
114115 @ Override
@@ -124,7 +125,7 @@ public <C> Context extract(Context context, C carrier, CarrierVisitor<C> visitor
124125 }
125126
126127 // Record successful baggage extraction for telemetry
127- BaggageMetrics . getInstance () .onBaggageExtracted ();
128+ BAGGAGE_METRICS .onBaggageExtracted ();
128129
129130 // TODO: consider a better way to link baggage with the extracted (legacy) TagContext
130131 AgentSpan extractedSpan = AgentSpan .fromContext (context );
@@ -167,14 +168,14 @@ private Map<String, String> parseBaggageHeaders(String input) {
167168 if (kvSeparatorInd > end ) {
168169 LOG .debug (
169170 "Dropping baggage headers due to key with no value {}" , input .substring (start , end ));
170- BaggageMetrics . getInstance () .onBaggageMalformed ();
171+ BAGGAGE_METRICS .onBaggageMalformed ();
171172 return emptyMap ();
172173 }
173174 String key = decode (input .substring (start , kvSeparatorInd ).trim ());
174175 String value = decode (input .substring (kvSeparatorInd + 1 , end ).trim ());
175176 if (key .isEmpty () || value .isEmpty ()) {
176177 LOG .debug ("Dropping baggage headers due to empty k/v {}:{}" , key , value );
177- BaggageMetrics . getInstance () .onBaggageMalformed ();
178+ BAGGAGE_METRICS .onBaggageMalformed ();
178179 return emptyMap ();
179180 }
180181 baggage .put (key , value );
0 commit comments