Skip to content

Commit 55a7ec9

Browse files
committed
feat(core): Refactor propagation calls to the new inject API
1 parent c73768e commit 55a7ec9

File tree

77 files changed

+190
-112
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+190
-112
lines changed

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/httpurlconnection/HeadersInjectAdapter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
44
import java.net.HttpURLConnection;
55

6+
@ParametersAreNonnullByDefault
67
public class HeadersInjectAdapter implements AgentPropagation.Setter<HttpURLConnection> {
78

89
public static final HeadersInjectAdapter SETTER = new HeadersInjectAdapter();

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/rmi/ContextPayload.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package datadog.trace.bootstrap.instrumentation.rmi;
22

3-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate;
4-
3+
import datadog.context.propagation.Propagators;
54
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
65
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
76
import java.io.IOException;
@@ -33,7 +32,7 @@ public Map<String, String> getContext() {
3332

3433
public static ContextPayload from(final AgentSpan span) {
3534
final ContextPayload payload = new ContextPayload();
36-
propagate().inject(span, payload, SETTER);
35+
Propagators.defaultPropagator().inject(span, payload, SETTER);
3736
return payload;
3837
}
3938

@@ -54,6 +53,7 @@ public void write(final ObjectOutput out) throws IOException {
5453
out.writeObject(context);
5554
}
5655

56+
@ParametersAreNonnullByDefault
5757
public static class InjectAdapter implements AgentPropagation.Setter<ContextPayload> {
5858
@Override
5959
public void set(final ContextPayload carrier, final String key, final String value) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemModuleImpl.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package datadog.trace.civisibility.domain.buildsystem;
22

3-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.propagate;
4-
53
import datadog.communication.ddagent.TracerVersion;
4+
import datadog.context.propagation.Propagators;
65
import datadog.trace.api.Config;
76
import datadog.trace.api.DDTags;
87
import datadog.trace.api.civisibility.CIConstants;
@@ -33,10 +32,13 @@
3332
import datadog.trace.util.Strings;
3433
import java.net.InetSocketAddress;
3534
import java.nio.file.Path;
36-
import java.util.*;
35+
import java.util.Collection;
36+
import java.util.HashMap;
37+
import java.util.List;
38+
import java.util.Map;
39+
import java.util.Properties;
3740
import java.util.concurrent.atomic.LongAdder;
3841
import java.util.function.Consumer;
39-
import javax.annotation.Nullable;
4042

4143
public class BuildSystemModuleImpl extends AbstractTestModule implements BuildSystemModule {
4244

@@ -106,6 +108,7 @@ public <T extends CoverageCalculator> BuildSystemModuleImpl(
106108
setTag(Tags.TEST_COMMAND, startCommand);
107109
}
108110

111+
@ParametersAreNonnullByDefault
109112
private static final class ChildProcessPropertiesPropagationSetter
110113
implements AgentPropagation.Setter<Map<String, String>> {
111114
static final AgentPropagation.Setter<Map<String, String>> INSTANCE =
@@ -213,7 +216,7 @@ private Map<String, String> getPropertiesPropagatedToChildProcess(
213216
}
214217

215218
// propagate module span context to child processes
216-
propagate()
219+
Propagators.defaultPropagator()
217220
.inject(span, propagatedSystemProperties, ChildProcessPropertiesPropagationSetter.INSTANCE);
218221

219222
return propagatedSystemProperties;

dd-java-agent/agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/context/propagation/AgentTextMapPropagator.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
import static datadog.opentelemetry.shim.trace.OtelSpanContext.fromRemote;
44
import static datadog.trace.api.TracePropagationStyle.TRACECONTEXT;
55

6+
import datadog.context.propagation.Propagators;
67
import datadog.opentelemetry.shim.context.OtelContext;
78
import datadog.opentelemetry.shim.trace.OtelExtractedContext;
89
import datadog.opentelemetry.shim.trace.OtelSpan;
910
import datadog.trace.api.TracePropagationStyle;
11+
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1012
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext;
1113
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext.Extracted;
1214
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
@@ -19,7 +21,6 @@
1921
import io.opentelemetry.context.propagation.TextMapGetter;
2022
import io.opentelemetry.context.propagation.TextMapPropagator;
2123
import io.opentelemetry.context.propagation.TextMapSetter;
22-
import java.util.Collection;
2324
import javax.annotation.Nullable;
2425
import javax.annotation.ParametersAreNonnullByDefault;
2526

@@ -36,11 +37,7 @@ public <C> void inject(Context context, @Nullable C carrier, TextMapSetter<C> se
3637
if (carrier == null) {
3738
return;
3839
}
39-
Span span = Span.fromContext(context);
40-
if (span.getSpanContext().isValid()) {
41-
AgentSpanContext agentSpanContext = OtelExtractedContext.extract(context);
42-
AgentTracer.propagate().inject(agentSpanContext, carrier, setter::set);
43-
}
40+
Propagators.defaultPropagator().inject(convertContext(context), carrier, setter::set);
4441
}
4542

4643
@Override
@@ -66,15 +63,23 @@ public <C> Context extract(Context context, @Nullable C carrier, TextMapGetter<C
6663
}
6764
}
6865

66+
private static datadog.context.Context convertContext(Context context) {
67+
// TODO Extract baggage too
68+
// TODO Create fast path from OtelSpan --> AgentSpan delegate --> with() to inflate as full
69+
// context if baggage
70+
AgentSpanContext extract = OtelExtractedContext.extract(context);
71+
return AgentSpan.fromSpanContext(extract);
72+
}
73+
6974
/**
7075
* Extracts tracestate if {@code tracestate} header is present and extracted context comes from
7176
* {@link TracePropagationStyle#TRACECONTEXT}
7277
*
7378
* @param extracted The extracted context.
7479
* @param carrier The context carrier.
7580
* @param getter The context getter.
76-
* @return The extracted tracestate, or an empty tracestate otherwise.
7781
* @param <C> The carrier type.
82+
* @return The extracted tracestate, or an empty tracestate otherwise.
7883
*/
7984
private static <C> TraceState extractTraceState(
8085
Extracted extracted, C carrier, TextMapGetter<C> getter) {

dd-java-agent/agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/trace/OtelSpan.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public AgentSpanContext getAgentSpanContext() {
172172

173173
@Override
174174
public AgentSpan asAgentSpan() {
175-
return delegate;
175+
return this.delegate;
176176
}
177177

178178
private static class NoopSpan implements Span {

dd-java-agent/instrumentation/akka-http/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/AkkaHttpClientHelpers.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public Void apply(final Try<HttpResponse> result) {
3535
public static class AkkaHttpHeaders implements AgentPropagation.Setter<HttpRequest> {
3636
private HttpRequest request;
3737
// Did this request have a span when the AkkaHttpHeaders object was created?
38-
private boolean hadSpan;
38+
private final boolean hadSpan;
3939

4040
public AkkaHttpHeaders(final HttpRequest request) {
4141
hadSpan = request != null && request.getHeader(HasSpanHeader.class).isPresent();
@@ -51,6 +51,7 @@ public boolean hadSpan() {
5151
return hadSpan;
5252
}
5353

54+
@ParametersAreNonnullByDefault
5455
@Override
5556
public void set(final HttpRequest carrier, final String key, final String value) {
5657
// Coerce a Scala trait Self type into the correct type

dd-java-agent/instrumentation/akka-http/akka-http-10.0/src/main/java/datadog/trace/instrumentation/akkahttp/AkkaHttpSingleRequestInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import akka.http.scaladsl.model.HttpRequest;
1515
import akka.http.scaladsl.model.HttpResponse;
1616
import com.google.auto.service.AutoService;
17+
import datadog.context.propagation.Propagators;
1718
import datadog.trace.agent.tooling.Instrumenter;
1819
import datadog.trace.agent.tooling.InstrumenterModule;
1920
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
@@ -78,7 +79,7 @@ public static AgentScope methodEnter(
7879
DECORATE.onRequest(span, request);
7980

8081
if (request != null) {
81-
propagate().inject(span, request, headers);
82+
Propagators.defaultPropagator().inject(span, request, headers);
8283
propagate()
8384
.injectPathwayContext(
8485
span, request, headers, HttpClientDecorator.CLIENT_PATHWAY_EDGE_TAGS);

dd-java-agent/instrumentation/akka-http/akka-http-10.6/src/main/java11/datadog/trace/instrumentation/akkahttp106/SingleRequestAdvice.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import akka.http.scaladsl.HttpExt;
88
import akka.http.scaladsl.model.HttpRequest;
99
import akka.http.scaladsl.model.HttpResponse;
10+
import datadog.context.propagation.Propagators;
1011
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1112
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1213
import datadog.trace.bootstrap.instrumentation.decorator.HttpClientDecorator;
@@ -28,7 +29,7 @@ public static AgentScope methodEnter(
2829
AkkaHttpClientDecorator.DECORATE.onRequest(span, request);
2930

3031
if (request != null) {
31-
propagate().inject(span, request, headers);
32+
Propagators.defaultPropagator().inject(span, request, headers);
3233
propagate()
3334
.injectPathwayContext(
3435
span, request, headers, HttpClientDecorator.CLIENT_PATHWAY_EDGE_TAGS);

dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/DelegatingRequestProducer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static datadog.trace.instrumentation.apachehttpasyncclient.ApacheHttpAsyncClientDecorator.DECORATE;
55
import static datadog.trace.instrumentation.apachehttpasyncclient.HttpHeadersInjectAdapter.SETTER;
66

7+
import datadog.context.propagation.Propagators;
78
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
89
import datadog.trace.bootstrap.instrumentation.decorator.HttpClientDecorator;
910
import java.io.IOException;
@@ -34,7 +35,7 @@ public HttpRequest generateRequest() throws IOException, HttpException {
3435
final HttpRequest request = delegate.generateRequest();
3536
DECORATE.onRequest(span, new HostAndRequestAsHttpUriRequest(delegate.getTarget(), request));
3637

37-
propagate().inject(span, request, SETTER);
38+
Propagators.defaultPropagator().inject(span, request, SETTER);
3839
propagate()
3940
.injectPathwayContext(span, request, SETTER, HttpClientDecorator.CLIENT_PATHWAY_EDGE_TAGS);
4041

dd-java-agent/instrumentation/apache-httpasyncclient-4/src/main/java/datadog/trace/instrumentation/apachehttpasyncclient/HttpHeadersInjectAdapter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package datadog.trace.instrumentation.apachehttpasyncclient;
22

33
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
4+
import javax.annotation.ParametersAreNonnullByDefault;
45
import org.apache.http.HttpRequest;
56

7+
@ParametersAreNonnullByDefault
68
public class HttpHeadersInjectAdapter implements AgentPropagation.Setter<HttpRequest> {
79

810
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/HelperMethods.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static datadog.trace.instrumentation.apachehttpclient.ApacheHttpClientDecorator.HTTP_REQUEST;
88
import static datadog.trace.instrumentation.apachehttpclient.HttpHeadersInjectAdapter.SETTER;
99

10+
import datadog.context.propagation.Propagators;
1011
import datadog.trace.bootstrap.CallDepthThreadLocalMap;
1112
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1213
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
@@ -45,7 +46,7 @@ private static AgentScope activateHttpSpan(final HttpUriRequest request) {
4546

4647
// AWS calls are often signed, so we can't add headers without breaking the signature.
4748
if (!awsClientCall) {
48-
propagate().inject(span, request, SETTER);
49+
Propagators.defaultPropagator().inject(span, request, SETTER);
4950
propagate()
5051
.injectPathwayContext(
5152
span, request, SETTER, HttpClientDecorator.CLIENT_PATHWAY_EDGE_TAGS);

dd-java-agent/instrumentation/apache-httpclient-4/src/main/java/datadog/trace/instrumentation/apachehttpclient/HttpHeadersInjectAdapter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package datadog.trace.instrumentation.apachehttpclient;
22

33
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
4+
import javax.annotation.ParametersAreNonnullByDefault;
45
import org.apache.http.client.methods.HttpUriRequest;
56

7+
@ParametersAreNonnullByDefault
68
public class HttpHeadersInjectAdapter implements AgentPropagation.Setter<HttpUriRequest> {
79

810
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

dd-java-agent/instrumentation/apache-httpclient-5/src/main/java/datadog/trace/instrumentation/apachehttpclient5/DelegatingRequestChannel.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static datadog.trace.instrumentation.apachehttpclient5.ApacheHttpClientDecorator.DECORATE;
55
import static datadog.trace.instrumentation.apachehttpclient5.HttpHeadersInjectAdapter.SETTER;
66

7+
import datadog.context.propagation.Propagators;
78
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
89
import datadog.trace.bootstrap.instrumentation.decorator.HttpClientDecorator;
910
import java.io.IOException;
@@ -27,7 +28,7 @@ public void sendRequest(HttpRequest request, EntityDetails entityDetails, HttpCo
2728
throws HttpException, IOException {
2829
DECORATE.onRequest(span, request);
2930

30-
propagate().inject(span, request, SETTER);
31+
Propagators.defaultPropagator().inject(span, request, SETTER);
3132
propagate()
3233
.injectPathwayContext(span, request, SETTER, HttpClientDecorator.CLIENT_PATHWAY_EDGE_TAGS);
3334
delegate.sendRequest(request, entityDetails, context);

dd-java-agent/instrumentation/apache-httpclient-5/src/main/java/datadog/trace/instrumentation/apachehttpclient5/HelperMethods.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static datadog.trace.instrumentation.apachehttpclient5.ApacheHttpClientDecorator.HTTP_REQUEST;
88
import static datadog.trace.instrumentation.apachehttpclient5.HttpHeadersInjectAdapter.SETTER;
99

10+
import datadog.context.propagation.Propagators;
1011
import datadog.trace.bootstrap.CallDepthThreadLocalMap;
1112
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1213
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
@@ -45,7 +46,7 @@ private static AgentScope activateHttpSpan(final HttpRequest request) {
4546
final boolean awsClientCall = request.containsHeader("amz-sdk-invocation-id");
4647
// AWS calls are often signed, so we can't add headers without breaking the signature.
4748
if (!awsClientCall) {
48-
propagate().inject(span, request, SETTER);
49+
Propagators.defaultPropagator().inject(span, request, SETTER);
4950
propagate()
5051
.injectPathwayContext(
5152
span, request, SETTER, HttpClientDecorator.CLIENT_PATHWAY_EDGE_TAGS);

dd-java-agent/instrumentation/apache-httpclient-5/src/main/java/datadog/trace/instrumentation/apachehttpclient5/HttpHeadersInjectAdapter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package datadog.trace.instrumentation.apachehttpclient5;
22

33
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
4+
import javax.annotation.ParametersAreNonnullByDefault;
45
import org.apache.hc.core5.http.HttpRequest;
56

7+
@ParametersAreNonnullByDefault
68
public class HttpHeadersInjectAdapter implements AgentPropagation.Setter<HttpRequest> {
79

810
public static final HttpHeadersInjectAdapter SETTER = new HttpHeadersInjectAdapter();

dd-java-agent/instrumentation/armeria-grpc/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/ClientCallImplInstrumentation.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
1717

1818
import com.google.auto.service.AutoService;
19+
import datadog.context.propagation.Propagators;
1920
import datadog.trace.agent.tooling.Instrumenter;
2021
import datadog.trace.agent.tooling.InstrumenterModule;
2122
import datadog.trace.agent.tooling.muzzle.Reference;
@@ -120,7 +121,7 @@ public static <T> AgentScope before(
120121
if (null != responseListener && null != headers) {
121122
span = InstrumentationContext.get(ClientCall.class, AgentSpan.class).get(call);
122123
if (null != span) {
123-
propagate().inject(span, headers, SETTER);
124+
Propagators.defaultPropagator().inject(span, headers, SETTER);
124125
propagate().injectPathwayContext(span, headers, SETTER, CLIENT_PATHWAY_EDGE_TAGS);
125126
return activateSpan(span);
126127
}

dd-java-agent/instrumentation/armeria-grpc/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcInjectAdapter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
44
import io.grpc.Metadata;
5+
import javax.annotation.ParametersAreNonnullByDefault;
56

7+
@ParametersAreNonnullByDefault
68
public final class GrpcInjectAdapter implements AgentPropagation.Setter<Metadata> {
79

810
public static final GrpcInjectAdapter SETTER = new GrpcInjectAdapter();

dd-java-agent/instrumentation/aws-java-eventbridge-2.0/src/main/java/datadog/trace/instrumentation/aws/v2/eventbridge/EventBridgeInterceptor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static datadog.trace.core.datastreams.TagsProcessor.TYPE_TAG;
99
import static datadog.trace.instrumentation.aws.v2.eventbridge.TextMapInjectAdapter.SETTER;
1010

11+
import datadog.context.propagation.Propagators;
1112
import datadog.trace.bootstrap.InstanceStore;
1213
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1314
import datadog.trace.bootstrap.instrumentation.api.PathwayContext;
@@ -86,7 +87,7 @@ private String getTraceContextToInject(
8687
jsonBuilder.append('{');
8788

8889
// Inject trace context
89-
propagate().inject(span, jsonBuilder, SETTER);
90+
Propagators.defaultPropagator().inject(span, jsonBuilder, SETTER);
9091

9192
if (traceConfig().isDataStreamsEnabled()) {
9293
propagate().injectPathwayContext(span, jsonBuilder, SETTER, getTags(eventBusName));

dd-java-agent/instrumentation/aws-java-eventbridge-2.0/src/main/java/datadog/trace/instrumentation/aws/v2/eventbridge/TextMapInjectAdapter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package datadog.trace.instrumentation.aws.v2.eventbridge;
22

33
import datadog.trace.bootstrap.instrumentation.api.AgentPropagation;
4+
import javax.annotation.ParametersAreNonnullByDefault;
45

6+
@ParametersAreNonnullByDefault
57
public class TextMapInjectAdapter implements AgentPropagation.Setter<StringBuilder> {
68

79
public static final TextMapInjectAdapter SETTER = new TextMapInjectAdapter();

dd-java-agent/instrumentation/aws-java-sns-1.0/src/main/java/datadog/trace/instrumentation/aws/v1/sns/SnsInterceptor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ private ByteBuffer getMessageAttributeValueToInject(
3737
final AgentSpan span = newSpan(request);
3838
StringBuilder jsonBuilder = new StringBuilder();
3939
jsonBuilder.append('{');
40-
propagate().inject(span, jsonBuilder, SETTER, TracePropagationStyle.DATADOG);
40+
propagate()
41+
.inject(
42+
span,
43+
jsonBuilder,
44+
SETTER,
45+
TracePropagationStyle.DATADOG); // TODO Is forcing Datadog encoding on purpose?
4146
if (traceConfig().isDataStreamsEnabled()) {
4247
propagate().injectPathwayContext(span, jsonBuilder, SETTER, getTags(snsTopicName));
4348
}

dd-java-agent/instrumentation/aws-java-sns-2.0/src/main/java/datadog/trace/instrumentation/aws/v2/sns/SnsInterceptor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static datadog.trace.core.datastreams.TagsProcessor.TYPE_TAG;
99
import static datadog.trace.instrumentation.aws.v2.sns.TextMapInjectAdapter.SETTER;
1010

11+
import datadog.context.propagation.Propagators;
1112
import datadog.trace.bootstrap.InstanceStore;
1213
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1314
import java.nio.charset.StandardCharsets;
@@ -37,7 +38,7 @@ private SdkBytes getMessageAttributeValueToInject(
3738
final AgentSpan span = executionAttributes.getAttribute(SPAN_ATTRIBUTE);
3839
StringBuilder jsonBuilder = new StringBuilder();
3940
jsonBuilder.append('{');
40-
propagate().inject(span, jsonBuilder, SETTER);
41+
Propagators.defaultPropagator().inject(span, jsonBuilder, SETTER);
4142
if (traceConfig().isDataStreamsEnabled()) {
4243
propagate().injectPathwayContext(span, jsonBuilder, SETTER, getTags(snsTopicName));
4344
}

0 commit comments

Comments
 (0)