Skip to content

Commit 2d45a1f

Browse files
committed
Merge remote-tracking branch 'origin/master' into rachel.yang/baggage-span-tags
2 parents eca080e + 766af68 commit 2d45a1f

File tree

168 files changed

+4030
-2684
lines changed

Some content is hidden

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

168 files changed

+4030
-2684
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
issuer: https://gitlab.ddbuild.io
2+
3+
subject_pattern: "project_path:DataDog/apm-reliability/dd-trace-java:ref_type:tag:ref:v.*"
4+
5+
claim_pattern:
6+
project_path: "DataDog/apm-reliability/dd-trace-java"
7+
ref_type: "tag"
8+
ref: "v.*"
9+
10+
permissions:
11+
contents: "write"

.github/workflows/add-release-to-cloudfoundry.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
run: |
4444
echo "${{ steps.get-release-version.outputs.VERSION }}: ${{ steps.get-release-url.outputs.URL }}" >> index.yml
4545
- name: Commit and push changes
46-
uses: planetscale/ghcommit-action@6a383e778f6620afde4bf4b45069d3c6983c1ae2 # v0.2.15
46+
uses: planetscale/ghcommit-action@7c35caed9937939812c7d4242ffab823e9b3b1fa # v0.2.16
4747
with:
4848
commit_message: "chore: Add version ${{ steps.get-release-version.outputs.VERSION }} to Cloud Foundry"
4949
repo: ${{ github.repository }}

.github/workflows/analyze-changes.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ jobs:
4040
${{ runner.os }}-gradle-
4141
4242
- name: Initialize CodeQL
43-
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
43+
uses: github/codeql-action/init@d6bbdef45e766d081b84a2def353b0055f728d3e # v3.29.3
4444
with:
4545
languages: 'java'
4646
build-mode: 'manual'
4747

4848
- name: Build dd-trace-java for creating the CodeQL database
4949
run: |
50-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms2G'" \
50+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx3G -Xms2G'" \
5151
JAVA_HOME=$JAVA_HOME_8_X64 \
5252
JAVA_8_HOME=$JAVA_HOME_8_X64 \
5353
JAVA_11_HOME=$JAVA_HOME_11_X64 \
@@ -57,7 +57,7 @@ jobs:
5757
--build-cache --parallel --stacktrace --no-daemon --max-workers=4
5858
5959
- name: Perform CodeQL Analysis and upload results to GitHub Security tab
60-
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
60+
uses: github/codeql-action/analyze@d6bbdef45e766d081b84a2def353b0055f728d3e # v3.29.3
6161

6262
trivy:
6363
name: Analyze changes with Trivy
@@ -93,7 +93,7 @@ jobs:
9393
9494
- name: Build and publish artifacts locally
9595
run: |
96-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms2G'" \
96+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx3G -Xms2G'" \
9797
JAVA_HOME=$JAVA_HOME_8_X64 \
9898
JAVA_8_HOME=$JAVA_HOME_8_X64 \
9999
JAVA_11_HOME=$JAVA_HOME_11_X64 \
@@ -122,7 +122,7 @@ jobs:
122122
TRIVY_JAVA_DB_REPOSITORY: ghcr.io/aquasecurity/trivy-java-db,public.ecr.aws/aquasecurity/trivy-java-db
123123

124124
- name: Upload Trivy scan results to GitHub Security tab
125-
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
125+
uses: github/codeql-action/upload-sarif@d6bbdef45e766d081b84a2def353b0055f728d3e # v3.29.3
126126
if: always()
127127
with:
128128
sarif_file: 'trivy-results.sarif'

.github/workflows/update-gradle-dependencies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
git push -u origin $BRANCH_NAME --force
2929
- name: Update Gradle dependencies
3030
run: |
31-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms2G'" \
31+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx3G -Xms2G'" \
3232
JAVA_HOME=$JAVA_HOME_8_X64 \
3333
JAVA_8_HOME=$JAVA_HOME_8_X64 \
3434
JAVA_11_HOME=$JAVA_HOME_11_X64 \
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Thresholds set based on guidance in https://datadoghq.atlassian.net/wiki/x/LgI1LgE#How-to-choose-thresholds-for-pre-release-gates%3F
2+
3+
experiments:
4+
- name: Run SLO breach check
5+
steps:
6+
- name: SLO breach check
7+
run: fail_on_breach
8+
# https://datadoghq.atlassian.net/wiki/x/LgI1LgE#How-to-choose-a-warning-range-for-pre-release-gates%3F
9+
warning_range: 10
10+
# File spec
11+
# https://datadoghq.atlassian.net/wiki/x/LgI1LgE#Specification
12+
# Measurements
13+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario
14+
scenarios:
15+
# Note that thresholds there are choosen based the confidence interval with a 10% adjustment.
16+
17+
# Standard macrobenchmarks
18+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=normal_operation%2Fonly-tracing&trendsType=scenario
19+
- name: normal_operation/only-tracing
20+
thresholds:
21+
- agg_http_req_duration_p50 < 2.6 ms
22+
- agg_http_req_duration_p99 < 8.5 ms
23+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=normal_operation%2Fotel-latest&trendsType=scenario
24+
- name: normal_operation/otel-latest
25+
thresholds:
26+
- agg_http_req_duration_p50 < 2.5 ms
27+
- agg_http_req_duration_p99 < 10 ms
28+
29+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=high_load%2Fonly-tracing&trendsType=scenario
30+
- name: high_load/only-tracing
31+
thresholds:
32+
- throughput > 1100.0 op/s
33+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=high_load%2Fotel-latest&trendsType=scenario
34+
- name: high_load/otel-latest
35+
thresholds:
36+
- throughput > 1100.0 op/s
37+
38+
# Startup macrobenchmarks
39+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=startup%3Apetclinic%3Atracing%3AGlobalTracer&trendsType=scenario
40+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=startup%3Apetclinic%3Aappsec%3AGlobalTracer&trendsType=scenario
41+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=startup%3Apetclinic%3Aiast%3AGlobalTracer&trendsType=scenario
42+
- name: "startup:petclinic:(tracing|appsec|iast):GlobalTracer"
43+
thresholds:
44+
- execution_time < 280 ms
45+
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=startup%3Apetclinic%3Aprofiling%3AGlobalTracer&trendsType=scenario
46+
- name: "startup:petclinic:profiling:GlobalTracer"
47+
thresholds:
48+
- execution_time < 420 ms

.gitlab/macrobenchmarks.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
include:
2+
project: 'DataDog/benchmarking-platform-tools'
3+
file: 'images/templates/gitlab/notify-slo-breaches.template.yml'
4+
ref: '925e0a3e7dd628885f6fc69cdaea5c8cc9e212bc'
5+
16
.macrobenchmarks:
27
stage: macrobenchmarks
38
rules:
@@ -68,3 +73,66 @@ otel-latest:
6873
BP_BENCHMARKS_CONFIGURATION: otel-latest
6974
TRACER_OPTS: -javaagent:/app/otel-java-agent.jar -Ddd.env=otel-latest -Ddd.service=bp-java-petclinic
7075
JAVA_OPTS: -javaagent:/app/memcheck/stability-testing-memwatch.jar -Xmx128M
76+
77+
78+
check-slo-breaches:
79+
stage: macrobenchmarks
80+
interruptible: true
81+
tags: ["arch:amd64"]
82+
image: registry.ddbuild.io/images/benchmarking-platform-tools-ubuntu:latest
83+
when: on_success
84+
needs:
85+
- job: baseline
86+
artifacts: true
87+
- job: only-tracing
88+
artifacts: true
89+
- job: otel-latest
90+
artifacts: true
91+
- job: benchmarks-startup
92+
artifacts: true
93+
- job: benchmarks-load
94+
artifacts: true
95+
- job: benchmarks-dacapo
96+
artifacts: true
97+
script:
98+
# macrobenchmarks are located here, files are already in "converted" format
99+
- export ARTIFACTS_DIR="$(pwd)/platform/artifacts/" && mkdir -p "${ARTIFACTS_DIR}"
100+
101+
# Need to move the artifacts the benchmarks-* job
102+
- |
103+
export BENCHMARKS_ARTIFACTS_DIR="$(pwd)/reports" && mkdir -p "${BENCHMARKS_ARTIFACTS_DIR}"
104+
for benchmarkType in startup load dacapo; do
105+
find "$BENCHMARKS_ARTIFACTS_DIR/$benchmarkType" -name "benchmark-baseline.json" -o -name "benchmark-candidate.json" | while read file; do
106+
relpath="${file#$BENCHMARKS_ARTIFACTS_DIR/$benchmarkType/}"
107+
prefix="${relpath%/benchmark-*}" # Remove the trailing /benchmark-(baseline|candidate).json
108+
prefix="${prefix#./}" # Remove any leading ./
109+
prefix="${prefix//\//-}" # Replace / with -
110+
case "$file" in
111+
*benchmark-baseline.json) type="baseline" ;;
112+
*benchmark-candidate.json) type="candidate" ;;
113+
esac
114+
echo "Moving $file to $ARTIFACTS_DIR/${type}-${benchmarkType}-${prefix}.converted.json"
115+
cp "$file" "$ARTIFACTS_DIR/${type}-${benchmarkType}-${prefix}.converted.json"
116+
done
117+
done
118+
- ls -lah "$ARTIFACTS_DIR"
119+
- bp-runner .gitlab/benchmarks/bp-runner.fail-on-breach.yml
120+
artifacts:
121+
name: "artifacts"
122+
when: always
123+
paths:
124+
- platform/artifacts/
125+
expire_in: 1 week
126+
variables:
127+
UPSTREAM_PROJECT_ID: $CI_PROJECT_ID # The ID of the current project. This ID is unique across all projects on the GitLab instance.
128+
UPSTREAM_PROJECT_NAME: $CI_PROJECT_NAME # "dd-trace-java"
129+
UPSTREAM_BRANCH: $CI_COMMIT_REF_NAME # The branch or tag name for which project is built.
130+
UPSTREAM_COMMIT_SHA: $CI_COMMIT_SHA # The commit revision the project is built for.
131+
132+
notify-slo-breaches:
133+
extends: .notify-slo-breaches
134+
stage: macrobenchmarks
135+
needs: ["check-slo-breaches"]
136+
when: always
137+
variables:
138+
CHANNEL: "apm-release-platform"

.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/d44e89797a5a47c43cf712193abefe2178a004176606f7e01b77d1ec49a3ef5e/one-pipeline.yml
4+
- remote: https://gitlab-templates.ddbuild.io/libdatadog/one-pipeline/ca/a0486057161f85a77e39ad2aa60ac66bb52414696d9b3dd87177df1057b11295/one-pipeline.yml

build.gradle

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
1-
buildscript {
2-
dependencies {
3-
classpath "pl.allegro.tech.build:axion-release-plugin:1.14.4"
4-
}
5-
6-
configurations.all {
7-
resolutionStrategy.dependencySubstitution {
8-
substitute module("com.jcraft:jsch") using module("com.github.mwiede:jsch:0.2.17") because "jcraft is unmaintained"
9-
substitute module("com.jcraft:jsch.agentproxy") using module("com.github.mwiede:jsch:0.2.17") because "jcraft is unmaintained"
10-
substitute module("com.jcraft:jzlib") using module("com.github.mwiede:jsch:0.2.17") because "jcraft is unmaintained"
11-
}
12-
}
13-
}
14-
151
plugins {
162
id 'datadog.gradle-debug'
173
id 'datadog.dependency-locking'
@@ -20,7 +6,7 @@ plugins {
206
id 'com.github.spotbugs' version '5.0.14'
217
id 'de.thetaphi.forbiddenapis' version '3.8'
228

23-
id 'pl.allegro.tech.build.axion-release' version '1.14.4'
9+
id 'org.shipkit.shipkit-auto-version' version '2.1.2'
2410
id 'io.github.gradle-nexus.publish-plugin' version '2.0.0'
2511

2612
id 'com.gradleup.shadow' version '8.3.6' apply false
@@ -34,7 +20,6 @@ description = 'dd-trace-java'
3420
def isCI = System.getenv("CI") != null
3521

3622
apply from: "$rootDir/gradle/repositories.gradle"
37-
apply from: "$rootDir/gradle/scm.gradle"
3823

3924
spotless {
4025
// only resolve the spotless dependencies once in the build
@@ -69,9 +54,11 @@ apply from: "$rootDir/gradle/spotless.gradle"
6954

7055
def compileTask = tasks.register("compile")
7156

57+
def repoVersion = version
58+
7259
allprojects {
7360
group = 'com.datadoghq'
74-
version = scmVersion.version
61+
version = repoVersion
7562

7663
if (isCI) {
7764
buildDir = "$rootDir/workspace/${projectDir.path.replace(rootDir.path, '')}/build/"
@@ -119,7 +106,7 @@ nexusPublishing {
119106

120107
def writeMainVersionFileTask = tasks.register('writeMainVersionFile') {
121108
def versionFile = file("${rootProject.buildDir}/main.version")
122-
inputs.property "version", scmVersion.version
109+
inputs.property "version", project.version
123110
outputs.file versionFile
124111

125112
doFirst {

communication/build.gradle

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)