Skip to content

Commit ee83940

Browse files
authored
Merge branch 'master' into dylan/sfn-trace-ctx
2 parents fc6e570 + 8a74e85 commit ee83940

File tree

2,853 files changed

+112686
-70349
lines changed

Some content is hidden

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

2,853 files changed

+112686
-70349
lines changed

β€Ž.circleci/collect_results.shβ€Ž

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# This folder will be saved by circleci and available after test runs.
55

66
set -e
7-
#Enable '**' support
7+
# Enable '**' support
88
shopt -s globstar
99

1010
TEST_RESULTS_DIR=results
@@ -19,13 +19,36 @@ if [[ ${#TEST_RESULT_DIRS[@]} -eq 0 ]]; then
1919
exit 0
2020
fi
2121

22+
function get_source_file () {
23+
file_path="${RESULT_XML_FILE%%"/build"*}"
24+
file_path="${file_path/#"$WORKSPACE_DIR"\//}/src"
25+
if ! [[ $RESULT_XML_FILE == *"#"* ]]; then
26+
class="${RESULT_XML_FILE%.xml}"
27+
class="${class##*"TEST-"}"
28+
class="${class##*"."}"
29+
common_root=$(grep -rl "class $class" "$file_path" | head -n 1)
30+
while IFS= read -r line; do
31+
while [[ $line != "$common_root"* ]]; do
32+
common_root=$(dirname "$common_root")
33+
if [[ "$common_root" == "$common_root/.." ]]; then
34+
break
35+
fi
36+
done
37+
done < <(grep -rl "class $class" "$file_path")
38+
file_path="$common_root"
39+
fi
40+
}
41+
2242
echo "Saving test results:"
2343
while IFS= read -r -d '' RESULT_XML_FILE
2444
do
2545
echo -n "- $RESULT_XML_FILE"
2646
AGGREGATED_FILE_NAME=$(echo "$RESULT_XML_FILE" | rev | cut -d "/" -f 1,2,5 | rev | tr "/" "_")
2747
echo -n " as $AGGREGATED_FILE_NAME"
2848
cp "$RESULT_XML_FILE" "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"
49+
# Insert file attribute to testcase XML nodes
50+
get_source_file
51+
sed -i "/<testcase/ s|\(time=\"[^\"]*\"\)|\1 file=\"$file_path\"|g" "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"
2952
# Replace Java Object hashCode by marker in testcase XML nodes to get stable test names
3053
sed -i '/<testcase/ s/@[0-9a-f]\{5,\}/@HASHCODE/g' "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"
3154
# Replace random port numbers by marker in testcase XML nodes to get stable test names

β€Ž.circleci/config.continue.yml.j2β€Ž

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ instrumentation_modules: &instrumentation_modules "dd-java-agent/instrumentation
3636
debugger_modules: &debugger_modules "dd-java-agent/agent-debugger|dd-java-agent/agent-bootstrap|dd-java-agent/agent-builder|internal-api|communication|dd-trace-core"
3737
profiling_modules: &profiling_modules "dd-java-agent/agent-profiling"
3838

39-
default_system_tests_commit: &default_system_tests_commit 67fe30ac7504997685859d31feae1782f3527f39
39+
default_system_tests_commit: &default_system_tests_commit 8384a3947b9881d0fcdb5ac937b80aad9a70d4d4
4040

4141
parameters:
4242
nightly:
@@ -273,6 +273,12 @@ commands:
273273
git fetch origin << parameters.systemTestsCommit >>
274274
git reset --hard FETCH_HEAD
275275

276+
- run:
277+
name: Install dependencies
278+
command: |
279+
sudo apt-get update
280+
sudo apt-get install -y python3.12-venv
281+
276282
jobs:
277283
build:
278284
<<: *defaults
@@ -416,6 +422,7 @@ jobs:
416422
-PgitBaseRef=origin/{{ pr_base_ref }}
417423
{% endif %}
418424
-PrunBuildSrcTests
425+
-PskipSpotless
419426
-PtaskPartitionCount=${CIRCLE_NODE_TOTAL} -PtaskPartition=${CIRCLE_NODE_INDEX}
420427
<< pipeline.parameters.gradle_flags >>
421428
--max-workers=8
@@ -850,6 +857,7 @@ jobs:
850857
APPSEC_REQUEST_BLOCKING
851858
APPSEC_RASP
852859
APPSEC_RUNTIME_ACTIVATION
860+
APPSEC_WAF_TELEMETRY
853861
REMOTE_CONFIG_MOCKED_BACKEND_ASM_DD
854862
"
855863
fi
@@ -953,13 +961,23 @@ jobs:
953961
no_output_timeout: 5m
954962
command: |
955963
cd system-tests
956-
DD_SITE=datadoghq.com DD_API_KEY=$SYSTEM_TESTS_E2E_DD_API_KEY DD_APPLICATION_KEY=$SYSTEM_TESTS_E2E_DD_APP_KEY ./run.sh DEBUGGER_SCENARIOS
964+
export DD_API_KEY=$SYSTEM_TESTS_E2E_DD_API_KEY
965+
./run.sh DEBUGGER_SCENARIOS
966+
967+
- run:
968+
name: Collect log files
969+
no_output_timeout: 5m
970+
command: |
971+
mkdir -p logs_debugger
972+
for dir in system-tests/logs*/; do
973+
cp -r "$dir" logs_debugger
974+
done
957975
958976
- store_test_results:
959-
path: system-tests/logs_debugger*
977+
path: logs_debugger
960978
961979
- store_artifacts:
962-
path: system-tests/logs_debugger*
980+
path: logs_debugger
963981
964982
parametric-tests:
965983
machine:
@@ -1091,12 +1109,20 @@ build_test_jobs: &build_test_jobs
10911109
gradleTarget: ":profilingCheck"
10921110
cacheType: profiling
10931111
1112+
- check:
1113+
requires:
1114+
- ok_to_test
1115+
name: check_debugger
1116+
gradleTarget: ":debuggerCheck"
1117+
cacheType: base
1118+
10941119
- fan_in:
10951120
requires:
10961121
- check_base
10971122
- check_inst
10981123
- check_smoke
10991124
- check_profiling
1125+
- check_debugger
11001126
name: check
11011127
stage: check
11021128

β€Ž.circleci/render_config.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
}
2929
# Version to use for all the base Docker images, see
3030
# https://github.com/DataDog/dd-trace-java-docker-build/pkgs/container/dd-trace-java-docker-build
31-
DOCKER_IMAGE_VERSION="v24.10"
31+
DOCKER_IMAGE_VERSION="v25.01"
3232

3333
# Get labels from pull requests to override some defaults for jobs to run.
3434
# `run-tests: all` will run all tests.

β€Ž.github/CODEOWNERSβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dd-java-agent/instrumentation/testng/ @DataDog/ci-app-libraries-java
2929
dd-java-agent/instrumentation/gradle-3.0/ @DataDog/ci-app-libraries-java
3030
dd-java-agent/instrumentation/gradle-8.3/ @DataDog/ci-app-libraries-java
3131
dd-java-agent/instrumentation/maven-3.2.1/ @DataDog/ci-app-libraries-java
32+
dd-java-agent/instrumentation/weaver/ @DataDog/ci-app-libraries-java
3233
dd-smoke-tests/gradle/ @DataDog/ci-app-libraries-java
3334
dd-smoke-tests/maven/ @DataDog/ci-app-libraries-java
3435
**/civisibility/ @DataDog/ci-app-libraries-java
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: "Bug Report (Low Priority)"
2+
description: "Create a public Bug Report. Note that these may not be addressed as it depeonds on capacity and that looking up account information will be difficult."
3+
labels: "type: bug"
4+
body:
5+
- type: input
6+
attributes:
7+
label: Tracer Version(s)
8+
description: "Version(s) of the tracer affected by this bug"
9+
placeholder: "1.44.0"
10+
validations:
11+
required: true
12+
13+
- type: input
14+
attributes:
15+
label: Java Version(s)
16+
description: "Version(s) of Java (`java --version`) that you've encountered this bug with"
17+
placeholder: 21.0.4
18+
validations:
19+
required: true
20+
21+
- type: dropdown
22+
attributes:
23+
label: JVM Vendor
24+
description: "Which JVM vendor does your application use"
25+
options:
26+
- Oracle JDK
27+
- Alibaba Dragonwell
28+
- Amazon Corretto
29+
- Azul Zing / Zulu
30+
- BellSoft Liberica JDK
31+
- Eclipse Adoptium / Temurin
32+
- Eclipse OpenJ9
33+
- IBM SDK / Semeru
34+
- Oracle GraalVM
35+
- RedHat JDK
36+
- SapMachine
37+
- Other (please specify in comments)
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
attributes:
43+
label: Bug Report
44+
description: Please add a clear and concise description of the bug here
45+
validations:
46+
required: true
47+
48+
- type: textarea
49+
attributes:
50+
label: Expected Behavior
51+
description: What is the expected behavior
52+
validations:
53+
required: true
54+
55+
- type: textarea
56+
attributes:
57+
label: Reproduction Code
58+
description: Please add code here to help us reproduce the problem
59+
validations:
60+
required: false
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
blank_issues_enabled: true
1+
blank_issues_enabled: false
22
contact_links:
3-
- name: Bug Report
3+
- name: Bug Report (High Priority)
44
url: https://help.datadoghq.com/hc/en-us/requests/new?tf_1260824651490=pt_product_type:apm&tf_1900004146284=pt_apm_language:java
5-
about: This option creates an expedited Bug Report via the helpdesk (no login required). This will allow us to look up your account and allows you to provide additional information in private.
6-
- name: Feature Request
5+
about: Create an expedited Bug Report via the helpdesk (no login required). This will allow us to look up your account and allows you to provide additional information in private.
6+
- name: Feature Request (High Priority)
77
url: https://help.datadoghq.com/hc/en-us/requests/new?tf_1260824651490=pt_product_type:apm&tf_1900004146284=pt_apm_language:java&tf_1260825272270=pt_apm_category_feature_request
8-
about: This option creates an expedited Feature Request via the helpdesk (no login required). This helps with prioritization and allows you to provide additional information in private.
8+
about: Create an expedited Feature Request via the helpdesk (no login required). This helps with prioritization and allows you to provide additional information in private.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Feature Request (Low Priority)
2+
description: Create a public Feature Request. Note that these may not be addressed as it depeonds on capacity and that looking up account information will be difficult.
3+
labels: "type: feature request"
4+
body:
5+
- type: input
6+
attributes:
7+
label: Library Name
8+
description: "If your feature request is to add instrumentation support for a library please provide the name here"
9+
placeholder: "spring-boot"
10+
validations:
11+
required: false
12+
13+
- type: input
14+
attributes:
15+
label: Library Version(s)
16+
description: "If your feature request is to add instrumentation support for a library please provide the version you use"
17+
placeholder: "1.2"
18+
validations:
19+
required: false
20+
21+
- type: textarea
22+
attributes:
23+
label: Describe the feature you'd like
24+
description: A clear and concise description of what you want to happen.
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
attributes:
30+
label: Is your feature request related to a problem?
31+
description: |
32+
Please add a clear and concise description of your problem.
33+
E.g. I'm unable to instrument my database queries...
34+
validations:
35+
required: false
36+
37+
- type: textarea
38+
attributes:
39+
label: Describe alternatives you've considered
40+
description: A clear and concise description of any alternative solutions or features you've considered
41+
validations:
42+
required: false
43+
44+
- type: textarea
45+
attributes:
46+
label: Additional context
47+
description: Add any other context or screenshots about the feature request here
48+
validations:
49+
required: false

β€Ž.github/dependabot.ymlβ€Ž

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "github-actions"
9+
directory: "/"
10+
schedule:
11+
interval: "monthly"
12+
groups:
13+
gh-actions-packages:
14+
patterns:
15+
- "*"

β€Ž.github/pull_request_template.mdβ€Ž

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@
66

77
# Contributor Checklist
88

9-
- [ ] Format the title [according the contribution guidelines](https://github.com/DataDog/dd-trace-java/blob/master/CONTRIBUTING.md#title-format)
10-
- [ ] 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)
11-
- [ ] Squash your commits prior merging or merge using GitHub's [Squash and merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits)
12-
- [ ] 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.
9+
- Format the title [according the contribution guidelines](https://github.com/DataDog/dd-trace-java/blob/master/CONTRIBUTING.md#title-format)
10+
- 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)
11+
- 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.
1312
Use `solves` instead, and assign the PR [milestone](https://github.com/DataDog/dd-trace-java/milestones) to the issue
14-
- [ ] Update the [public documentation](https://docs.datadoghq.com/tracing/trace_collection/library_config/java/) in case of new configuration flag or behavior
13+
- Update the [public documentation](https://docs.datadoghq.com/tracing/trace_collection/library_config/java/) in case of new configuration flag or behavior
1514

1615
Jira ticket: [PROJ-IDENT]
1716

β€Ž.github/workflows/README.mdβ€Ž

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,6 @@ _Action:_ Check the pull request complies with [the contribution guidelines](htt
2828

2929
_Recovery:_ Manually verify the guideline compliance.
3030

31-
### create-next-milestone [πŸ”—](create-next-milestone.yaml)
32-
33-
_Trigger:_ When closing a milestone.
34-
35-
_Action:_ Create a new milestone by incrementing minor version.
36-
37-
_Comment:_ Disabled as also covered by increment-milestone-on-tag.
38-
This will be removed after some testing.
39-
4031
### draft-release-notes-on-tag [πŸ”—](draft-release-notes-on-tag.yaml)
4132

4233
_Trigger:_ When creating a tag, or manually (providing a tag)
@@ -62,6 +53,16 @@ _Recovery:_ Manually [close the related milestone and create a new one](https://
6253

6354
_Notes:_ This action will not apply to release candidate versions using `-RC` tags.
6455

56+
### update-docker-build-image [πŸ”—](update-docker-build-image.yaml)
57+
58+
_Trigger:_ Quarterly released, loosely [a day after the new image tag is created](https://github.com/DataDog/dd-trace-java-docker-build/blob/master/.github/workflows/docker-tag.yml).
59+
60+
_Action:_ Update the Docker build image used in CircleCI and GitLab CI with the latest tag.
61+
62+
_Recovery:_ Download artifacts and upload them manually to the related _download release_.
63+
64+
_Notes:_ Manually trigger the action again given the desired image tag as input.
65+
6566
### update-download-releases [πŸ”—](update-download-releases.yaml)
6667

6768
_Trigger:_ When a release is published.
@@ -103,7 +104,7 @@ _Recovery:_ Manually trigger the action again.
103104

104105
## Code Quality and Security
105106

106-
### analyze-changes [πŸ”—](analyze-changes-with-github-codeql.yaml)
107+
### analyze-changes [πŸ”—](analyze-changes.yaml)
107108

108109
_Trigger:_ When pushing commits to `master` or any pull request targeting `master`.
109110

@@ -121,7 +122,7 @@ _Trigger:_ When creating a PR commits to `master` or a `release/*` branch with a
121122

122123
_Action:_ Notify the PR author through comments that about the Git Submodule update.
123124

124-
### update-gradle-dependencies [πŸ”—](update-gradle-dependencies.yml)
125+
### update-gradle-dependencies [πŸ”—](update-gradle-dependencies.yaml)
125126

126127
_Trigger:_ Every week or manually.
127128

@@ -137,7 +138,7 @@ While GitHub owned actions are allowed by default, the other ones must be declar
137138

138139
Run the following script to get the list of actions to declare according the state of your working copy:
139140
```bash
140-
find .github/workflows -name "*.yaml" -exec awk '/uses:/{print $2 ","}' {} \; | grep -vE '^(actions|github)/' | sort | uniq
141+
find .github/workflows -name "*.yaml" -exec awk '/uses:/{print $2 ","}' {} \; | grep -vE '^(actions|github)/' | sed 's/@.*/@*/' | sort | uniq
141142
```
142143

143144
## Testing

0 commit comments

Comments
Β (0)