Skip to content

Commit a26badd

Browse files
committed
updating to handle behaviorExtract=IGNORE in CoreTracer rather than BaggagePropagator
1 parent 0be2fc1 commit a26badd

File tree

3 files changed

+11
-25
lines changed

3 files changed

+11
-25
lines changed

dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import static datadog.trace.api.DDTags.DJM_ENABLED;
55
import static datadog.trace.api.DDTags.DSM_ENABLED;
66
import static datadog.trace.api.DDTags.PROFILING_CONTEXT_ENGINE;
7-
import static datadog.trace.api.TracePropagationBehaviorExtract.RESTART;
7+
import static datadog.trace.api.TracePropagationBehaviorExtract.IGNORE;
88
import static datadog.trace.bootstrap.instrumentation.api.AgentPropagation.BAGGAGE_CONCERN;
99
import static datadog.trace.bootstrap.instrumentation.api.AgentPropagation.DSM_CONCERN;
1010
import static datadog.trace.bootstrap.instrumentation.api.AgentPropagation.TRACING_CONCERN;
@@ -716,7 +716,8 @@ private CoreTracer(
716716
if (config.isDataStreamsEnabled()) {
717717
Propagators.register(DSM_CONCERN, this.dataStreamsMonitoring.propagator());
718718
}
719-
if (config.isBaggagePropagationEnabled()) {
719+
if (config.isBaggagePropagationEnabled()
720+
&& config.getTracePropagationBehaviorExtract() != IGNORE) {
720721
Propagators.register(BAGGAGE_CONCERN, new BaggagePropagator(config));
721722
}
722723

dd-trace-core/src/main/java/datadog/trace/core/baggage/BaggagePropagator.java

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package datadog.trace.core.baggage;
22

3-
import static datadog.trace.api.TracePropagationBehaviorExtract.IGNORE;
43
import static java.util.Collections.emptyMap;
54

65
import datadog.context.Context;
76
import datadog.context.propagation.CarrierSetter;
87
import datadog.context.propagation.CarrierVisitor;
98
import datadog.context.propagation.Propagator;
109
import datadog.trace.api.Config;
11-
import datadog.trace.api.TracePropagationBehaviorExtract;
1210
import datadog.trace.bootstrap.instrumentation.api.Baggage;
1311
import datadog.trace.core.util.PercentEscaper;
1412
import datadog.trace.core.util.PercentEscaper.Escaped;
@@ -30,29 +28,21 @@ public class BaggagePropagator implements Propagator {
3028
private final boolean extractBaggage;
3129
private final int maxItems;
3230
private final int maxBytes;
33-
private final TracePropagationBehaviorExtract behaviorExtract;
3431

3532
public BaggagePropagator(Config config) {
3633
this(
3734
config.isBaggageInject(),
3835
config.isBaggageExtract(),
3936
config.getTraceBaggageMaxItems(),
40-
config.getTraceBaggageMaxBytes(),
41-
config.getTracePropagationBehaviorExtract());
37+
config.getTraceBaggageMaxBytes());
4238
}
4339

4440
// use primarily for testing purposes
45-
BaggagePropagator(
46-
boolean injectBaggage,
47-
boolean extractBaggage,
48-
int maxItems,
49-
int maxBytes,
50-
TracePropagationBehaviorExtract behaviorExtract) {
41+
BaggagePropagator(boolean injectBaggage, boolean extractBaggage, int maxItems, int maxBytes) {
5142
this.injectBaggage = injectBaggage;
5243
this.extractBaggage = extractBaggage;
5344
this.maxItems = maxItems;
5445
this.maxBytes = maxBytes;
55-
this.behaviorExtract = behaviorExtract;
5646
}
5747

5848
@Override
@@ -114,11 +104,7 @@ public <C> void inject(Context context, C carrier, CarrierSetter<C> setter) {
114104

115105
@Override
116106
public <C> Context extract(Context context, C carrier, CarrierVisitor<C> visitor) {
117-
if (!this.extractBaggage
118-
|| this.behaviorExtract == IGNORE
119-
|| context == null
120-
|| carrier == null
121-
|| visitor == null) {
107+
if (!this.extractBaggage || context == null || carrier == null || visitor == null) {
122108
return context;
123109
}
124110
BaggageExtractor baggageExtractor = new BaggageExtractor();

dd-trace-core/src/test/groovy/datadog/trace/core/baggage/BaggagePropagatorTest.groovy

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import java.util.function.BiConsumer
1111

1212
import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_BAGGAGE_MAX_BYTES
1313
import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_BAGGAGE_MAX_ITEMS
14-
import static datadog.trace.api.TracePropagationBehaviorExtract.CONTINUE
1514
import static datadog.trace.core.baggage.BaggagePropagator.BAGGAGE_KEY
1615

1716
class BaggagePropagatorTest extends DDSpecification {
@@ -36,7 +35,7 @@ class BaggagePropagatorTest extends DDSpecification {
3635
}
3736

3837
def setup() {
39-
this.propagator = new BaggagePropagator(true, true, DEFAULT_TRACE_BAGGAGE_MAX_ITEMS, DEFAULT_TRACE_BAGGAGE_MAX_BYTES, CONTINUE)
38+
this.propagator = new BaggagePropagator(true, true, DEFAULT_TRACE_BAGGAGE_MAX_ITEMS, DEFAULT_TRACE_BAGGAGE_MAX_BYTES)
4039
this.setter = new MapCarrierAccessor()
4140
this.carrier = [:]
4241
this.context = Context.root()
@@ -66,7 +65,7 @@ class BaggagePropagatorTest extends DDSpecification {
6665

6766
def "test baggage inject item limit"() {
6867
setup:
69-
propagator = new BaggagePropagator(true, true, 2, DEFAULT_TRACE_BAGGAGE_MAX_BYTES, CONTINUE) //creating a new instance after injecting config
68+
propagator = new BaggagePropagator(true, true, 2, DEFAULT_TRACE_BAGGAGE_MAX_BYTES) //creating a new instance after injecting config
7069
context = Baggage.create(baggage).storeInto(context)
7170

7271
when:
@@ -83,7 +82,7 @@ class BaggagePropagatorTest extends DDSpecification {
8382

8483
def "test baggage inject bytes limit"() {
8584
setup:
86-
propagator = new BaggagePropagator(true, true, DEFAULT_TRACE_BAGGAGE_MAX_ITEMS, 20, CONTINUE) //creating a new instance after injecting config
85+
propagator = new BaggagePropagator(true, true, DEFAULT_TRACE_BAGGAGE_MAX_ITEMS, 20) //creating a new instance after injecting config
8786
context = Baggage.create(baggage).storeInto(context)
8887

8988
when:
@@ -185,7 +184,7 @@ class BaggagePropagatorTest extends DDSpecification {
185184

186185
def "test baggage cache items limit"(){
187186
setup:
188-
propagator = new BaggagePropagator(true, true, 2, DEFAULT_TRACE_BAGGAGE_MAX_BYTES, CONTINUE) //creating a new instance after injecting config
187+
propagator = new BaggagePropagator(true, true, 2, DEFAULT_TRACE_BAGGAGE_MAX_BYTES) //creating a new instance after injecting config
189188
def headers = [
190189
(BAGGAGE_KEY) : baggageHeader,
191190
]
@@ -206,7 +205,7 @@ class BaggagePropagatorTest extends DDSpecification {
206205

207206
def "test baggage cache bytes limit"(){
208207
setup:
209-
propagator = new BaggagePropagator(true, true, DEFAULT_TRACE_BAGGAGE_MAX_ITEMS, 20, CONTINUE) //creating a new instance after injecting config
208+
propagator = new BaggagePropagator(true, true, DEFAULT_TRACE_BAGGAGE_MAX_ITEMS, 20) //creating a new instance after injecting config
210209
def headers = [
211210
(BAGGAGE_KEY) : baggageHeader,
212211
]

0 commit comments

Comments
 (0)