Skip to content

Commit 974ee45

Browse files
authored
Merge branch 'master' into andrea.marziali/new-mule-propagate-grizzly
2 parents 7c18ffe + 6553226 commit 974ee45

File tree

155 files changed

+1994
-502
lines changed

Some content is hidden

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

155 files changed

+1994
-502
lines changed

.gitlab/one-pipeline.locked.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# DO NOT EDIT THIS FILE MANUALLY
22
# This file is auto-generated by automation.
33
include:
4-
- remote: https://gitlab-templates.ddbuild.io/libdatadog/one-pipeline/ca/f2050f53c1f5aed62a24e6b406c746e7d593230ce02b5d56d2a2296db763ebf4/one-pipeline.yml
4+
- remote: https://gitlab-templates.ddbuild.io/libdatadog/one-pipeline/ca/da9922e97994c97cdeca1c9a515fff18a9581a70d0cc1c921bd623c648d1caf8/one-pipeline.yml

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpClientDecorator.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,12 @@
2626
import java.net.URI;
2727
import java.net.URISyntaxException;
2828
import java.util.BitSet;
29-
import java.util.LinkedHashMap;
3029
import java.util.Map;
3130
import java.util.function.BiFunction;
3231
import org.slf4j.Logger;
3332
import org.slf4j.LoggerFactory;
3433

3534
public abstract class HttpClientDecorator<REQUEST, RESPONSE> extends UriBasedClientDecorator {
36-
public static final LinkedHashMap<String, String> CLIENT_PATHWAY_EDGE_TAGS;
37-
38-
static {
39-
CLIENT_PATHWAY_EDGE_TAGS = new LinkedHashMap<>(2);
40-
// TODO: Refactor TagsProcessor to move it into a package that we can link the constants for.
41-
CLIENT_PATHWAY_EDGE_TAGS.put("direction", "out");
42-
CLIENT_PATHWAY_EDGE_TAGS.put("type", "http");
43-
}
4435

4536
private static final Logger log = LoggerFactory.getLogger(HttpClientDecorator.class);
4637

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/HttpServerDecorator.java

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

33
import static datadog.context.Context.root;
44
import static datadog.trace.api.cache.RadixTreeCache.UNSET_STATUS;
5-
import static datadog.trace.api.datastreams.DataStreamsContext.fromTags;
5+
import static datadog.trace.api.datastreams.DataStreamsContext.forHttpServer;
66
import static datadog.trace.api.gateway.Events.EVENTS;
77
import static datadog.trace.bootstrap.instrumentation.api.AgentPropagation.extractContextAndGetSpanContext;
88
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.traceConfig;
@@ -38,14 +38,14 @@
3838
import datadog.trace.bootstrap.instrumentation.decorator.http.ClientIpAddressResolver;
3939
import java.net.InetAddress;
4040
import java.util.BitSet;
41-
import java.util.LinkedHashMap;
4241
import java.util.Locale;
4342
import java.util.Map;
4443
import java.util.concurrent.ExecutionException;
4544
import java.util.function.BiFunction;
4645
import java.util.function.Function;
4746
import java.util.function.Supplier;
4847
import javax.annotation.Nonnull;
48+
import javax.annotation.Nullable;
4949
import org.slf4j.Logger;
5050
import org.slf4j.LoggerFactory;
5151

@@ -62,15 +62,6 @@ public abstract class HttpServerDecorator<REQUEST, CONNECTION, RESPONSE, REQUEST
6262
public static final String DD_RESPONSE_ATTRIBUTE = "datadog.response";
6363
public static final String DD_IGNORE_COMMIT_ATTRIBUTE = "datadog.commit.ignore";
6464

65-
public static final LinkedHashMap<String, String> SERVER_PATHWAY_EDGE_TAGS;
66-
67-
static {
68-
SERVER_PATHWAY_EDGE_TAGS = new LinkedHashMap<>(2);
69-
// TODO: Refactor TagsProcessor to move it into a package that we can link the constants for.
70-
SERVER_PATHWAY_EDGE_TAGS.put("direction", "in");
71-
SERVER_PATHWAY_EDGE_TAGS.put("type", "http");
72-
}
73-
7465
private static final UTF8BytesString DEFAULT_RESOURCE_NAME = UTF8BytesString.create("/");
7566
protected static final UTF8BytesString NOT_FOUND_RESOURCE_NAME = UTF8BytesString.create("404");
7667
protected static final boolean SHOULD_SET_404_RESOURCE_NAME =
@@ -165,7 +156,7 @@ public AgentSpan startSpan(
165156
}
166157
AgentPropagation.ContextVisitor<REQUEST_CARRIER> getter = getter();
167158
if (null != carrier && null != getter) {
168-
tracer().getDataStreamsMonitoring().setCheckpoint(span, fromTags(SERVER_PATHWAY_EDGE_TAGS));
159+
tracer().getDataStreamsMonitoring().setCheckpoint(span, forHttpServer());
169160
}
170161
return span;
171162
}
@@ -191,7 +182,7 @@ public AgentSpan onRequest(
191182
final AgentSpan span,
192183
final CONNECTION connection,
193184
final REQUEST request,
194-
final AgentSpanContext.Extracted context) {
185+
@Nullable final AgentSpanContext.Extracted context) {
195186
Config config = Config.get();
196187
boolean clientIpResolverEnabled =
197188
config.isClientIpEnabled()

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/UriBasedClientDecorator.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
package datadog.trace.bootstrap.instrumentation.decorator;
22

3+
import static datadog.context.propagation.Propagators.defaultPropagator;
4+
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.traceConfig;
5+
6+
import datadog.context.Context;
7+
import datadog.context.propagation.CarrierSetter;
38
import datadog.trace.api.Config;
9+
import datadog.trace.api.datastreams.DataStreamsContext;
410
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
511
import datadog.trace.bootstrap.instrumentation.api.Tags;
612
import java.net.URI;
713
import javax.annotation.Nonnull;
814

915
public abstract class UriBasedClientDecorator extends ClientDecorator {
10-
1116
public void onURI(@Nonnull final AgentSpan span, @Nonnull final URI uri) {
1217
String host = uri.getHost();
1318
int port = uri.getPort();
@@ -21,4 +26,13 @@ public void onURI(@Nonnull final AgentSpan span, @Nonnull final URI uri) {
2126
}
2227
}
2328
}
29+
30+
public <C> void injectContext(Context context, final C request, CarrierSetter<C> setter) {
31+
// Add additional default DSM context for HTTP clients if missing but DSM is enabled
32+
if (DataStreamsContext.fromContext(context) == null && traceConfig().isDataStreamsEnabled()) {
33+
context = context.with(DataStreamsContext.forHttpClient());
34+
}
35+
// Inject context into carrier
36+
defaultPropagator().inject(context, request, setter);
37+
}
2438
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityRepoServices.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,8 @@ private static PullRequestInfo buildUserPullRequestInfo(
129129
new PullRequestInfo(
130130
config.getGitPullRequestBaseBranch(),
131131
config.getGitPullRequestBaseBranchSha(),
132-
config.getGitCommitHeadSha());
132+
config.getGitCommitHeadSha(),
133+
null);
133134

134135
if (userInfo.isComplete()) {
135136
return userInfo;
@@ -140,7 +141,8 @@ private static PullRequestInfo buildUserPullRequestInfo(
140141
new PullRequestInfo(
141142
null,
142143
environment.get(Constants.DDCI_PULL_REQUEST_TARGET_SHA),
143-
environment.get(Constants.DDCI_PULL_REQUEST_SOURCE_SHA));
144+
environment.get(Constants.DDCI_PULL_REQUEST_SOURCE_SHA),
145+
null);
144146

145147
return PullRequestInfo.merge(userInfo, ddCiInfo);
146148
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/AppVeyorInfo.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ class AppVeyorInfo implements CIProviderInfo {
2424
public static final String APPVEYOR_REPO_PROVIDER = "APPVEYOR_REPO_PROVIDER";
2525
public static final String APPVEYOR_REPO_COMMIT = "APPVEYOR_REPO_COMMIT";
2626
public static final String APPVEYOR_REPO_BRANCH = "APPVEYOR_REPO_BRANCH";
27-
public static final String APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH =
28-
"APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH";
29-
public static final String APPVEYOR_PULL_REQUEST_HEAD_COMMIT =
30-
"APPVEYOR_PULL_REQUEST_HEAD_COMMIT";
3127
public static final String APPVEYOR_REPO_TAG_NAME = "APPVEYOR_REPO_TAG_NAME";
3228
public static final String APPVEYOR_REPO_COMMIT_MESSAGE_SUBJECT = "APPVEYOR_REPO_COMMIT_MESSAGE";
3329
public static final String APPVEYOR_REPO_COMMIT_MESSAGE_BODY =
3430
"APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED";
3531
public static final String APPVEYOR_REPO_COMMIT_AUTHOR_NAME = "APPVEYOR_REPO_COMMIT_AUTHOR";
3632
public static final String APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL =
3733
"APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL";
34+
public static final String APPVEYOR_PR_HEAD_REPO_BRANCH =
35+
"APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH";
36+
public static final String APPVEYOR_PR_HEAD_COMMIT = "APPVEYOR_PULL_REQUEST_HEAD_COMMIT";
37+
public static final String APPVEYOR_PR_NUMBER = "APPVEYOR_PULL_REQUEST_NUMBER";
3838

3939
private final CiEnvironment environment;
4040

@@ -87,19 +87,20 @@ public CIInfo buildCIInfo() {
8787
@Override
8888
public PullRequestInfo buildPullRequestInfo() {
8989
// check if PR is detected
90-
if (Strings.isNotBlank(environment.get(APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH))) {
90+
if (Strings.isNotBlank(environment.get(APPVEYOR_PR_HEAD_REPO_BRANCH))) {
9191
return new PullRequestInfo(
9292
normalizeBranch(environment.get(APPVEYOR_REPO_BRANCH)),
9393
null,
94-
environment.get(APPVEYOR_PULL_REQUEST_HEAD_COMMIT));
94+
environment.get(APPVEYOR_PR_HEAD_COMMIT),
95+
environment.get(APPVEYOR_PR_NUMBER));
9596
} else {
9697
return PullRequestInfo.EMPTY;
9798
}
9899
}
99100

100101
private String buildGitBranch(final String repoProvider) {
101102
if ("github".equals(repoProvider)) {
102-
String branch = environment.get(APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH);
103+
String branch = environment.get(APPVEYOR_PR_HEAD_REPO_BRANCH);
103104
if (branch == null || branch.isEmpty()) {
104105
branch = environment.get(APPVEYOR_REPO_BRANCH);
105106
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/AzurePipelinesInfo.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ class AzurePipelinesInfo implements CIProviderInfo {
4040
public static final String AZURE_BUILD_SOURCEVERSION_MESSAGE = "BUILD_SOURCEVERSIONMESSAGE";
4141
public static final String AZURE_BUILD_REQUESTED_FOR_ID = "BUILD_REQUESTEDFORID";
4242
public static final String AZURE_BUILD_REQUESTED_FOR_EMAIL = "BUILD_REQUESTEDFOREMAIL";
43+
public static final String AZURE_PR_NUMBER = "SYSTEM_PULLREQUEST_PULLREQUESTNUMBER";
44+
public static final String AZURE_PR_TARGET_BRANCH = "SYSTEM_PULLREQUEST_TARGETBRANCH";
4345

4446
private final CiEnvironment environment;
4547

@@ -85,7 +87,11 @@ public CIInfo buildCIInfo() {
8587
@Nonnull
8688
@Override
8789
public PullRequestInfo buildPullRequestInfo() {
88-
return PullRequestInfo.EMPTY;
90+
return new PullRequestInfo(
91+
normalizeBranch(environment.get(AZURE_PR_TARGET_BRANCH)),
92+
null,
93+
null,
94+
environment.get(AZURE_PR_NUMBER));
8995
}
9096

9197
private String buildGitBranch() {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BitBucketInfo.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class BitBucketInfo implements CIProviderInfo {
2727
public static final String BITBUCKET_GIT_BRANCH = "BITBUCKET_BRANCH";
2828
public static final String BITBUCKET_GIT_TAG = "BITBUCKET_TAG";
2929
public static final String BITBUCKET_PR_DESTINATION_BRANCH = "BITBUCKET_PR_DESTINATION_BRANCH";
30+
public static final String BITBUCKET_PR_NUMBER = "BITBUCKET_PR_ID";
3031

3132
private final CiEnvironment environment;
3233

@@ -76,7 +77,10 @@ public CIInfo buildCIInfo() {
7677
@Override
7778
public PullRequestInfo buildPullRequestInfo() {
7879
return new PullRequestInfo(
79-
normalizeBranch(environment.get(BITBUCKET_PR_DESTINATION_BRANCH)), null, null);
80+
normalizeBranch(environment.get(BITBUCKET_PR_DESTINATION_BRANCH)),
81+
null,
82+
null,
83+
environment.get(BITBUCKET_PR_NUMBER));
8084
}
8185

8286
private String buildPipelineUrl(final String repo, final String number) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BitriseInfo.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class BitriseInfo implements CIProviderInfo {
3333
public static final String BITRISE_GIT_COMMITER_NAME = "GIT_CLONE_COMMIT_COMMITER_NAME";
3434
public static final String BITRISE_GIT_COMMITER_EMAIL = "GIT_CLONE_COMMIT_COMMITER_EMAIL";
3535
public static final String BITRISE_GIT_BRANCH_DEST = "BITRISEIO_GIT_BRANCH_DEST";
36+
public static final String BITRISE_PR_NUMBER = "BITRISE_PULL_REQUEST";
3637

3738
private final CiEnvironment environment;
3839

@@ -73,7 +74,10 @@ public CIInfo buildCIInfo() {
7374
@Override
7475
public PullRequestInfo buildPullRequestInfo() {
7576
return new PullRequestInfo(
76-
normalizeBranch(environment.get(BITRISE_GIT_BRANCH_DEST)), null, null);
77+
normalizeBranch(environment.get(BITRISE_GIT_BRANCH_DEST)),
78+
null,
79+
null,
80+
environment.get(BITRISE_PR_NUMBER));
7781
}
7882

7983
private String buildGitCommit() {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BuddyInfo.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class BuddyInfo implements CIProviderInfo {
2828
public static final String BUDDY_GIT_COMMIT_AUTHOR = "BUDDY_EXECUTION_REVISION_COMMITTER_NAME";
2929
public static final String BUDDY_GIT_COMMIT_EMAIL = "BUDDY_EXECUTION_REVISION_COMMITTER_EMAIL";
3030
public static final String BUDDY_RUN_PR_BASE_BRANCH = "BUDDY_RUN_PR_BASE_BRANCH";
31+
public static final String BUDDY_RUN_PR_NUMBER = "BUDDY_RUN_PR_NO";
3132

3233
private final CiEnvironment environment;
3334

@@ -64,7 +65,10 @@ public CIInfo buildCIInfo() {
6465
@Override
6566
public PullRequestInfo buildPullRequestInfo() {
6667
return new PullRequestInfo(
67-
normalizeBranch(environment.get(BUDDY_RUN_PR_BASE_BRANCH)), null, null);
68+
normalizeBranch(environment.get(BUDDY_RUN_PR_BASE_BRANCH)),
69+
null,
70+
null,
71+
environment.get(BUDDY_RUN_PR_NUMBER));
6872
}
6973

7074
private String getPipelineId(String pipelineNumber) {

0 commit comments

Comments
 (0)