Skip to content

Commit 84da741

Browse files
authored
Merge branch 'master' into ygree/snakeyaml-engine-migration
2 parents 2c56ffe + 4ab4ee3 commit 84da741

File tree

77 files changed

+441
-230
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

+441
-230
lines changed

.circleci/config.continue.yml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1023,7 +1023,7 @@ build_test_jobs: &build_test_jobs
10231023
requires:
10241024
- ok_to_test
10251025
name: check_base
1026-
resourceClass: large
1026+
resourceClass: xlarge
10271027
gradleTarget: ":baseCheck"
10281028
cacheType: base
10291029

.github/CODEOWNERS

Lines changed: 96 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -5,72 +5,108 @@
55
* @DataDog/apm-java
66

77
# @DataDog/apm-idm-java
8-
dd-java-agent/instrumentation/ @DataDog/apm-idm-java
8+
/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/ @DataDog/apm-idm-java
9+
/dd-java-agent/instrumentation/ @DataDog/apm-idm-java
910

10-
# @DataDog/profiling-java
11-
dd-java-agent/agent-profiling/ @DataDog/profiling-java
12-
dd-java-agent/agent-crashtracking/ @DataDog/profiling-java
13-
dd-java-agent/instrumentation/exception-profiling/ @DataDog/profiling-java
14-
dd-java-agent/instrumentation/java-directbytebuffer/ @DataDog/profiling-java
15-
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jfr/ @DataDog/profiling-java
16-
dd-java-agent/agent-bootstrap/src/main/java11/datadog/trace/bootstrap/instrumentation/jfr/ @DataDog/profiling-java
17-
dd-smoke-tests/profiling-integration-tests/ @DataDog/profiling-java
11+
# @DataDog/apm-release-platform
12+
/.gitlab/ @DataDog/apm-release-platform
13+
/.gitlab-ci.yml @DataDog/apm-release-platform
1814

19-
# @DataDog/ci-app-libraries-java
20-
dd-java-agent/agent-ci-visibility/ @DataDog/ci-app-libraries-java
21-
dd-java-agent/instrumentation/cucumber/ @DataDog/ci-app-libraries-java
22-
dd-java-agent/instrumentation/jacoco/ @DataDog/ci-app-libraries-java
23-
dd-java-agent/instrumentation/junit-4.10/ @DataDog/ci-app-libraries-java
24-
dd-java-agent/instrumentation/junit-5.3/ @DataDog/ci-app-libraries-java
25-
dd-java-agent/instrumentation/karate/ @DataDog/ci-app-libraries-java
26-
dd-java-agent/instrumentation/scalatest/ @DataDog/ci-app-libraries-java
27-
dd-java-agent/instrumentation/selenium/ @DataDog/ci-app-libraries-java
28-
dd-java-agent/instrumentation/testng/ @DataDog/ci-app-libraries-java
29-
dd-java-agent/instrumentation/gradle-3.0/ @DataDog/ci-app-libraries-java
30-
dd-java-agent/instrumentation/gradle-8.3/ @DataDog/ci-app-libraries-java
31-
dd-java-agent/instrumentation/gradle-testing/ @DataDog/ci-app-libraries-java
32-
dd-java-agent/instrumentation/maven-3.2.1/ @DataDog/ci-app-libraries-java
33-
dd-java-agent/instrumentation/maven-surefire/ @DataDog/ci-app-libraries-java
34-
dd-java-agent/instrumentation/weaver/ @DataDog/ci-app-libraries-java
35-
dd-smoke-tests/gradle/ @DataDog/ci-app-libraries-java
36-
dd-smoke-tests/maven/ @DataDog/ci-app-libraries-java
37-
**/civisibility/ @DataDog/ci-app-libraries-java
38-
**/CiVisibility*.java @DataDog/ci-app-libraries-java
39-
**/CiVisibility*.groovy @DataDog/ci-app-libraries-java
15+
# @DataDog/apm-sdk-api-java
16+
/dd-trace-ot/ @DataDog/apm-sdk-api-java
4017

41-
# @DataDog/debugger-java (Live Debugger)
42-
dd-java-agent/agent-debugger/ @DataDog/debugger-java
43-
dd-smoke-tests/debugger-integration-tests/ @DataDog/debugger-java
18+
# @DataDog/apm-serverless
19+
/dd-trace-core/src/main/java/datadog/trace/lambda/ @DataDog/apm-serverless
20+
/dd-trace-core/src/test/groovy/datadog/trace/lambda/ @DataDog/apm-serverless
21+
22+
# @DataDog/apm-lang-platform-java
23+
/.circleci/ @DataDog/apm-lang-platform-java
24+
/.github/ @DataDog/apm-lang-platform-java
25+
/benchmark/ @DataDog/apm-lang-platform-java
26+
/components/ @DataDog/apm-lang-platform-java
27+
/dd-java-agent/instrumentation/java-* @DataDog/apm-lang-platform-java
28+
/metadata/ @DataDog/apm-lang-platform-java
29+
/remote-config/ @DataDog/apm-lang-platform-java
30+
/telemetry/ @DataDog/apm-lang-platform-java
31+
/test-published-dependencies/ @DataDog/apm-lang-platform-java
4432

4533
# @DataDog/asm-java (AppSec/IAST)
46-
dd-java-agent/agent-iast/ @DataDog/asm-java
47-
dd-java-agent/instrumentation/*iast* @DataDog/asm-java
48-
dd-java-agent/instrumentation/*appsec* @DataDog/asm-java
49-
dd-java-agent/instrumentation/json/ @DataDog/asm-java
50-
dd-java-agent/instrumentation/snakeyaml/ @DataDog/asm-java
51-
dd-java-agent/instrumentation/velocity/ @DataDog/asm-java
52-
dd-java-agent/instrumentation/freemarker/ @DataDog/asm-java
53-
dd-smoke-tests/iast-util/ @DataDog/asm-java
54-
dd-smoke-tests/spring-security/ @DataDog/asm-java
55-
dd-java-agent/instrumentation/commons-fileupload/ @DataDog/asm-java
56-
dd-java-agent/instrumentation/spring-security-5/ @DataDog/asm-java
57-
**/appsec/ @DataDog/asm-java
58-
**/iast/ @DataDog/asm-java
59-
**/Iast*.java @DataDog/asm-java
60-
**/Iast*.groovy @DataDog/asm-java
61-
**/rasp/ @Datadog/asm-java
62-
**/*Rasp*.java @DataDog/asm-java
63-
**/*Rasp*.groovy @DataDog/asm-java
64-
**/*Waf*.java @DataDog/asm-java
65-
**/*Waf*.groovy @DataDog/asm-java
34+
/buildSrc/call-site-instrumentation-plugin/ @DataDog/asm-java
35+
/dd-java-agent/agent-iast/ @DataDog/asm-java
36+
/dd-java-agent/instrumentation/*iast* @DataDog/asm-java
37+
/dd-java-agent/instrumentation/*appsec* @DataDog/asm-java
38+
/dd-java-agent/instrumentation/json/ @DataDog/asm-java
39+
/dd-java-agent/instrumentation/snakeyaml/ @DataDog/asm-java
40+
/dd-java-agent/instrumentation/velocity/ @DataDog/asm-java
41+
/dd-java-agent/instrumentation/freemarker/ @DataDog/asm-java
42+
/dd-smoke-tests/iast-util/ @DataDog/asm-java
43+
/dd-smoke-tests/spring-security/ @DataDog/asm-java
44+
/dd-java-agent/instrumentation/commons-fileupload/ @DataDog/asm-java
45+
/dd-java-agent/instrumentation/spring-security-5/ @DataDog/asm-java
46+
/dd-trace-api/src/main/java/datadog/trace/api/EventTracker.java @DataDog/asm-java
47+
/internal-api/src/main/java/datadog/trace/api/gateway/ @DataDog/asm-java
48+
**/appsec/ @DataDog/asm-java
49+
**/*CallSite*.java @DataDog/asm-java
50+
**/*CallSite*.groovy @DataDog/asm-java
51+
**/*CallSite*.kt @DataDog/asm-java
52+
**/iast/ @DataDog/asm-java
53+
**/Iast*.java @DataDog/asm-java
54+
**/Iast*.groovy @DataDog/asm-java
55+
**/rasp/ @Datadog/asm-java
56+
**/*Rasp*.java @DataDog/asm-java
57+
**/*Rasp*.groovy @DataDog/asm-java
58+
**/*Waf*.java @DataDog/asm-java
59+
**/*Waf*.groovy @DataDog/asm-java
60+
61+
# @DataDog/ci-app-libraries-java
62+
/dd-java-agent/agent-ci-visibility/ @DataDog/ci-app-libraries-java
63+
/dd-java-agent/instrumentation/cucumber/ @DataDog/ci-app-libraries-java
64+
/dd-java-agent/instrumentation/jacoco/ @DataDog/ci-app-libraries-java
65+
/dd-java-agent/instrumentation/junit-4.10/ @DataDog/ci-app-libraries-java
66+
/dd-java-agent/instrumentation/junit-5.3/ @DataDog/ci-app-libraries-java
67+
/dd-java-agent/instrumentation/karate/ @DataDog/ci-app-libraries-java
68+
/dd-java-agent/instrumentation/scalatest/ @DataDog/ci-app-libraries-java
69+
/dd-java-agent/instrumentation/selenium/ @DataDog/ci-app-libraries-java
70+
/dd-java-agent/instrumentation/testng/ @DataDog/ci-app-libraries-java
71+
/dd-java-agent/instrumentation/gradle-3.0/ @DataDog/ci-app-libraries-java
72+
/dd-java-agent/instrumentation/gradle-8.3/ @DataDog/ci-app-libraries-java
73+
/dd-java-agent/instrumentation/gradle-testing/ @DataDog/ci-app-libraries-java
74+
/dd-java-agent/instrumentation/maven-3.2.1/ @DataDog/ci-app-libraries-java
75+
/dd-java-agent/instrumentation/maven-surefire/ @DataDog/ci-app-libraries-java
76+
/dd-java-agent/instrumentation/weaver/ @DataDog/ci-app-libraries-java
77+
/dd-smoke-tests/gradle/ @DataDog/ci-app-libraries-java
78+
/dd-smoke-tests/maven/ @DataDog/ci-app-libraries-java
79+
/internal-api/src/main/java/datadog/trace/api/git/ @DataDog/ci-app-libraries-java
80+
**/civisibility/ @DataDog/ci-app-libraries-java
81+
**/CiVisibility*.java @DataDog/ci-app-libraries-java
82+
**/CiVisibility*.groovy @DataDog/ci-app-libraries-java
83+
84+
# @DataDog/debugger-java (Live Debugger)
85+
/dd-java-agent/agent-debugger/ @DataDog/debugger-java
86+
/dd-smoke-tests/debugger-integration-tests/ @DataDog/debugger-java
6687

6788
# @DataDog/data-jobs-monitoring
68-
dd-java-agent/instrumentation/spark/ @DataDog/data-jobs-monitoring
69-
dd-java-agent/instrumentation/spark-executor/ @DataDog/data-jobs-monitoring
89+
/dd-java-agent/instrumentation/spark/ @DataDog/data-jobs-monitoring
90+
/dd-java-agent/instrumentation/spark-executor/ @DataDog/data-jobs-monitoring
7091

7192
# @DataDog/data-streams-monitoring
72-
dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/datastreams @DataDog/data-streams-monitoring
73-
dd-trace-core/src/main/java/datadog/trace/core/datastreams @DataDog/data-streams-monitoring
74-
dd-trace-core/src/test/groovy/datadog/trace/core/datastreams @DataDog/data-streams-monitoring
75-
internal-api/src/main/java/datadog/trace/api/datastreams @DataDog/data-streams-monitoring
76-
internal-api/src/test/groovy/datadog/trace/api/datastreams @DataDog/data-streams-monitoring
93+
/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/datastreams @DataDog/data-streams-monitoring
94+
/dd-trace-core/src/main/java/datadog/trace/core/datastreams @DataDog/data-streams-monitoring
95+
/dd-trace-core/src/test/groovy/datadog/trace/core/datastreams @DataDog/data-streams-monitoring
96+
/internal-api/src/main/java/datadog/trace/api/datastreams @DataDog/data-streams-monitoring
97+
/internal-api/src/test/groovy/datadog/trace/api/datastreams @DataDog/data-streams-monitoring
98+
**/datastreams/ @DataDog/data-streams-monitoring
99+
**/DataStreams* @DataDog/data-streams-monitoring
100+
101+
# @DataDog/profiling-java
102+
/dd-java-agent/agent-profiling/ @DataDog/profiling-java
103+
/dd-java-agent/agent-crashtracking/ @DataDog/profiling-java
104+
/dd-java-agent/instrumentation/exception-profiling/ @DataDog/profiling-java
105+
/dd-java-agent/instrumentation/java-directbytebuffer/ @DataDog/profiling-java
106+
/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jfr/ @DataDog/profiling-java
107+
/dd-java-agent/agent-bootstrap/src/main/java11/datadog/trace/bootstrap/instrumentation/jfr/ @DataDog/profiling-java
108+
/dd-trace-api/src/main/java/datadog/trace/api/profiling @DataDog/profiling-java
109+
/internal-api/src/main/java/datadog/trace/api/profiling @DataDog/profiling-java
110+
/internal-api/src/main/java/datadog/trace/api/EndpointCheckpointer.java @DataDog/profiling-java
111+
/internal-api/src/main/java/datadog/trace/api/EndpointTracker.java @DataDog/profiling-java
112+
/dd-smoke-tests/profiling-integration-tests/ @DataDog/profiling-java

.github/pull_request_template.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
- Assign the `type:` and (`comp:` or `inst:`) labels in addition to [any usefull labels](https://github.com/DataDog/dd-trace-java/blob/master/CONTRIBUTING.md#labels)
1111
- Don't use `close`, `fix` or any [linking keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) when referencing an issue.
1212
Use `solves` instead, and assign the PR [milestone](https://github.com/DataDog/dd-trace-java/milestones) to the issue
13+
- Update the [CODEOWNERS](https://github.com/DataDog/dd-trace-java/blob/master/.github/CODEOWNERS) file on source file addition, move, or deletion
1314
- Update the [public documentation](https://docs.datadoghq.com/tracing/trace_collection/library_config/java/) in case of new configuration flag or behavior
1415

1516
Jira ticket: [PROJ-IDENT]

.gitlab/exploration-tests.yml

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,62 @@ build-exploration-tests-image:
4545
- "*_surefire-reports.tar.gz"
4646
- "*_debugger-dumps.tar.gz"
4747

48-
exploration-tests-jsoup:
48+
exploration-tests-method-jsoup:
4949
needs: [ build ]
5050
dependencies:
5151
- build
5252
<<: *common-exploration-tests
5353
variables:
5454
PROJECT: jsoup
5555
script:
56-
- ./run-exploration-tests.sh "$PROJECT" "mvn verify" "include_${PROJECT}.txt" "exclude_${PROJECT}.txt"
56+
- ./run-exploration-tests.sh "method" "$PROJECT" "mvn verify" "include_${PROJECT}.txt" "exclude_${PROJECT}.txt"
5757

58-
exploration-tests-jackson-core:
58+
exploration-tests-line-jsoup:
59+
needs: [ build ]
60+
dependencies:
61+
- build
62+
<<: *common-exploration-tests
63+
variables:
64+
PROJECT: jsoup
65+
script:
66+
- ./run-exploration-tests.sh "line" "$PROJECT" "mvn verify" "include_${PROJECT}.txt" "exclude_${PROJECT}.txt"
67+
68+
exploration-tests-method-jackson-core:
69+
needs: [ build ]
70+
dependencies:
71+
- build
72+
<<: *common-exploration-tests
73+
variables:
74+
PROJECT: jackson-core
75+
script:
76+
- ./run-exploration-tests.sh "method" "$PROJECT" "mvn verify" "include_${PROJECT}.txt" "exclude_${PROJECT}.txt"
77+
78+
exploration-tests-line-jackson-core:
5979
needs: [ build ]
6080
dependencies:
6181
- build
6282
<<: *common-exploration-tests
6383
variables:
6484
PROJECT: jackson-core
6585
script:
66-
- ./run-exploration-tests.sh "$PROJECT" "mvn verify" "include_${PROJECT}.txt" "exclude_${PROJECT}.txt"
86+
- ./run-exploration-tests.sh "line" "$PROJECT" "mvn verify" "include_${PROJECT}.txt" "exclude_${PROJECT}.txt"
87+
88+
exploration-tests-method-jackson-databind:
89+
needs: [ build ]
90+
dependencies:
91+
- build
92+
<<: *common-exploration-tests
93+
variables:
94+
PROJECT: jackson-databind
95+
script:
96+
- ./run-exploration-tests.sh "method" "$PROJECT" "./mvnw verify" "include_${PROJECT}.txt" "exclude_$PROJECT.txt"
6797

68-
exploration-tests-jackson-databind:
98+
exploration-tests-line-jackson-databind:
6999
needs: [ build ]
70100
dependencies:
71101
- build
72102
<<: *common-exploration-tests
73103
variables:
74104
PROJECT: jackson-databind
75105
script:
76-
- ./run-exploration-tests.sh "$PROJECT" "./mvnw verify" "exclude_$PROJECT.txt"
106+
- ./run-exploration-tests.sh "line" "$PROJECT" "./mvnw verify" "include_${PROJECT}.txt" "exclude_line_$PROJECT.txt"

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,8 @@ public Map<TestSetting, Map<String, Collection<TestFQN>>> getTestManagementTests
344344
new TestManagementDto(
345345
tracerEnvironment.getRepositoryUrl(),
346346
tracerEnvironment.getCommitMessage(),
347-
tracerEnvironment.getConfigurations().getTestBundle())));
347+
tracerEnvironment.getConfigurations().getTestBundle(),
348+
tracerEnvironment.getSha())));
348349
String json = testManagementRequestAdapter.toJson(request);
349350
RequestBody requestBody = RequestBody.create(JSON, json);
350351
TestManagementTestsDto testManagementTestsDto =
@@ -542,11 +543,14 @@ private static final class TestManagementDto {
542543
private final String commitMessage;
543544

544545
private final String module;
546+
private final String sha;
545547

546-
private TestManagementDto(String repositoryUrl, String commitMessage, String module) {
548+
private TestManagementDto(
549+
String repositoryUrl, String commitMessage, String module, String sha) {
547550
this.repositoryUrl = repositoryUrl;
548551
this.commitMessage = commitMessage;
549552
this.module = module;
553+
this.sha = sha;
550554
}
551555
}
552556

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,12 @@ public void onTestFinish(
262262

263263
if (testExecutionHistory.hasFailedAllRetries()) {
264264
test.setTag(Tags.TEST_HAS_FAILED_ALL_RETRIES, true);
265-
} else if (testExecutionHistory.hasSucceededAllRetries()
266-
&& testModule.isAttemptToFix(thisTest)) {
267-
test.setTag(Tags.TEST_TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED, true);
265+
}
266+
267+
if (testExecutionHistory.wasLastExecution() && testModule.isAttemptToFix(thisTest)) {
268+
test.setTag(
269+
Tags.TEST_TEST_MANAGEMENT_ATTEMPT_TO_FIX_PASSED,
270+
testExecutionHistory.hasSucceededAllRetries());
268271
}
269272
}
270273

dd-java-agent/agent-ci-visibility/src/test/resources/datadog/trace/civisibility/config/test-management-tests-request.ftl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"id" : "${uid}",
55
"attributes": {
66
"repository_url" : "${tracerEnvironment.repositoryUrl}",
7-
"commit_message" : "${tracerEnvironment.commitMessage}"
7+
"commit_message" : "${tracerEnvironment.commitMessage}",
8+
"sha" : "${tracerEnvironment.sha}"
89
}
910
}
1011
}

dd-java-agent/agent-ci-visibility/src/testFixtures/groovy/datadog/trace/civisibility/CiVisibilitySmokeTest.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ import datadog.trace.api.civisibility.config.TestFQN
44
import spock.lang.Specification
55

66
abstract class CiVisibilitySmokeTest extends Specification {
7+
static final List<String> SMOKE_IGNORED_TAGS = ["content.meta.['_dd.integration']"]
78

89
protected verifyEventsAndCoverages(String projectName, String toolchain, String toolchainVersion, List<Map<String, Object>> events, List<Map<String, Object>> coverages) {
910
def additionalReplacements = ["content.meta.['test.toolchain']": "$toolchain:$toolchainVersion"]
1011

1112
if (System.getenv().get("GENERATE_TEST_FIXTURES") != null) {
1213
def baseTemplatesPath = CiVisibilitySmokeTest.classLoader.getResource(projectName).toURI().schemeSpecificPart.replace('build/resources/test', 'src/test/resources')
13-
CiVisibilityTestUtils.generateTemplates(baseTemplatesPath, events, coverages, additionalReplacements)
14+
CiVisibilityTestUtils.generateTemplates(baseTemplatesPath, events, coverages, additionalReplacements, SMOKE_IGNORED_TAGS)
1415
} else {
15-
CiVisibilityTestUtils.assertData(projectName, events, coverages, additionalReplacements,["content.meta.['_dd.integration']"])
16+
CiVisibilityTestUtils.assertData(projectName, events, coverages, additionalReplacements, SMOKE_IGNORED_TAGS)
1617
}
1718
}
1819

dd-java-agent/agent-debugger/exploration-tests/Dockerfile.exploration-tests

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ COPY jackson-core_exploration-tests.patch .
2929
RUN cd jackson-core && git apply /exploration-tests/jackson-core_exploration-tests.patch
3030
RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && cd jackson-core && mvn verify -DskipTests=true"
3131
RUN git clone -b 2.16 https://github.com/FasterXML/jackson-databind.git
32+
COPY jackson-databind_exploration-tests.patch .
33+
# fix tests that are failing because too deep recrursion
34+
RUN cd jackson-databind && git apply /exploration-tests/jackson-databind_exploration-tests.patch
3235
RUN bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && cd jackson-databind && mvn verify -DskipTests=true"
3336

3437
# Netty
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# issues with powermock
12
com/fasterxml/jackson/databind/BaseTest
3+
com/fasterxml/jackson/databind/BaseMapTest*
24
com/fasterxml/jackson/databind/type/TypeFactory
5+
com/fasterxml/jackson/databind/deser/lazy/LazyIgnoralForNumbers3730Test::<init>
36

0 commit comments

Comments
 (0)