Skip to content

Commit a819948

Browse files
Merge branch 'master' into daniel.mohedano/coverage-report-duplicate-keys
2 parents e6eca50 + 65b9b8a commit a819948

196 files changed

Lines changed: 5343 additions & 1249 deletions

File tree

Some content is hidden

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

.github/workflows/run-system-tests.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ jobs:
6363
- build
6464
# If you change the following comment, update the pattern in the update_system_test_reference.sh script to match.
6565
uses: DataDog/system-tests/.github/workflows/system-tests.yml@main # system tests are pinned on release branches only
66-
secrets:
67-
TEST_OPTIMIZATION_API_KEY: ${{ secrets.DATADOG_API_KEY_PROD }}
6866
permissions:
6967
contents: read
7068
id-token: write
@@ -78,7 +76,7 @@ jobs:
7876
scenarios_groups: tracer-release
7977
excluded_scenarios: APM_TRACING_E2E_OTEL,APM_TRACING_E2E_SINGLE_SPAN,PROFILING # exclude flaky scenarios
8078
skip_empty_scenarios: true
81-
push_to_test_optimization: true
79+
push_to_test_optimization: false # disabled to avoid pushing to Test Optimization while API key is transitioning to system-tests
8280

8381
# Ensure the main job is run to completion
8482
check:

.gitlab/benchmarks/bp-runner.fail-on-breach.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Generated: 2026-03-31
33
#
44
# Generation Strategy: tight
5-
# Formula: CI_bound / (1 ± T) (T = 5.0%)
5+
# Formula: CI_bound / (1 ± T) (T = 10.0%)
66
#
77
# SLO Checking:
88
# - BREACH: 90% CI boundary crosses threshold
@@ -11,7 +11,7 @@
1111
# DO NOT EDIT MANUALLY - Regenerate using:
1212
# benchmark_analyzer generate slos --help
1313
#
14-
# Thresholds set based on guidance in https://datadoghq.atlassian.net/wiki/x/LgI1LgE#How-to-choose-thresholds-for-pre-release-gates%3F
14+
# link to documentation on autogenerated thresholds https://github.com/DataDog/relenv-benchmark-analyzer/blob/main/README.md#generate-slo-thresholds
1515

1616
experiments:
1717
- name: Run SLO breach check
@@ -31,7 +31,7 @@ experiments:
3131
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=normal_operation%2Fonly-tracing&trendsType=scenario
3232
- name: normal_operation/only-tracing
3333
thresholds:
34-
- agg_http_req_duration_p50 < 2.128 ms
34+
- agg_http_req_duration_p50 < 2.526 ms
3535
- agg_http_req_duration_p99 < 8.5 ms
3636
# https://benchmarking.us1.prod.dog/trends?projectId=4&branch=master&trendsTab=per_scenario&scenario=normal_operation%2Fotel-latest&trendsType=scenario
3737
- name: normal_operation/otel-latest

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

ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ to `.classdata` to prevent unintended loading. See [`docs/how_to_work_with_gradl
5454
utilities. Visible to all classloaders, so instrumentation advice and helpers can use them directly.
5555
See [`docs/bootstrap_design_guidelines.md`](docs/bootstrap_design_guidelines.md).
5656

57-
- **`agent-builder/`** — ByteBuddy integration layer. Class transformer pipeline:
57+
- **`agent-installer/`** Product installers and ByteBuddy integration layer. Class transformer pipeline:
5858
`DDClassFileTransformer` intercepts every class load, `GlobalIgnoresMatcher` applies early
5959
filtering, `CombiningMatcher` evaluates instrumentation matchers, `SplittingTransformer`
6060
applies matched transformations. The `ignored_class_name.trie` is a compiled trie built at

communication/src/test/java/datadog/communication/serialization/msgpack/MsgPackWriterTest.java

Lines changed: 114 additions & 144 deletions
Large diffs are not rendered by default.

components/json/src/test/java/datadog/json/JsonReaderTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,8 @@ void testStringEscaping() {
215215
assertEquals("\n", reader.nextString());
216216
assertEquals("\r", reader.nextString());
217217
assertEquals("\t", reader.nextString());
218-
assertEquals("É", reader.nextString());
218+
// Explicit escape for non-ASCII `É` to make test independent of container settings.
219+
assertEquals("\u00C9", reader.nextString());
219220
reader.endArray();
220221
} catch (IOException e) {
221222
fail("Failed to read escaped JSON strings", e);

dd-java-agent/agent-builder/build.gradle

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

dd-java-agent/agent-crashtracking/gradle.lockfile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ com.github.stephenc.jcip:jcip-annotations:1.0-1=spotbugs
3232
com.google.code.findbugs:jsr305:3.0.2=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath
3333
com.google.code.gson:gson:2.13.2=spotbugs
3434
com.google.errorprone:error_prone_annotations:2.41.0=spotbugs
35+
com.jayway.jsonpath:json-path:2.8.0=testCompileClasspath,testRuntimeClasspath
3536
com.squareup.moshi:moshi:1.11.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
3637
com.squareup.okhttp3:mockwebserver:3.12.12=testCompileClasspath,testRuntimeClasspath
3738
com.squareup.okhttp3:okhttp:3.12.12=testCompileClasspath,testRuntimeClasspath
@@ -45,6 +46,11 @@ junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath
4546
net.bytebuddy:byte-buddy-agent:1.18.3=testCompileClasspath,testRuntimeClasspath
4647
net.bytebuddy:byte-buddy:1.18.3=testCompileClasspath,testRuntimeClasspath
4748
net.java.dev.jna:jna:5.13.0=testCompileClasspath,testRuntimeClasspath
49+
net.javacrumbs.json-unit:json-unit-assertj:2.40.1=testCompileClasspath,testRuntimeClasspath
50+
net.javacrumbs.json-unit:json-unit-core:2.40.1=testCompileClasspath,testRuntimeClasspath
51+
net.javacrumbs.json-unit:json-unit-json-path:2.40.1=testCompileClasspath,testRuntimeClasspath
52+
net.minidev:accessors-smart:2.4.9=testRuntimeClasspath
53+
net.minidev:json-smart:2.4.10=testRuntimeClasspath
4854
net.sf.saxon:Saxon-HE:12.9=spotbugs
4955
org.apache.ant:ant-antlr:1.10.14=codenarc
5056
org.apache.ant:ant-junit:1.10.14=codenarc
@@ -55,6 +61,7 @@ org.apache.commons:commons-text:1.14.0=spotbugs
5561
org.apache.logging.log4j:log4j-api:2.25.2=spotbugs
5662
org.apache.logging.log4j:log4j-core:2.25.2=spotbugs
5763
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
64+
org.assertj:assertj-core:3.27.7=testCompileClasspath,testRuntimeClasspath
5865
org.codehaus.groovy:groovy-ant:3.0.23=codenarc
5966
org.codehaus.groovy:groovy-docgenerator:3.0.23=codenarc
6067
org.codehaus.groovy:groovy-groovydoc:3.0.23=codenarc
@@ -67,7 +74,7 @@ org.codehaus.groovy:groovy:3.0.25=testCompileClasspath,testRuntimeClasspath
6774
org.codenarc:CodeNarc:3.7.0=codenarc
6875
org.dom4j:dom4j:2.2.0=spotbugs
6976
org.gmetrics:GMetrics:2.1.0=codenarc
70-
org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath
77+
org.hamcrest:hamcrest-core:2.2=testCompileClasspath,testRuntimeClasspath
7178
org.hamcrest:hamcrest:3.0=testCompileClasspath,testRuntimeClasspath
7279
org.jacoco:org.jacoco.agent:0.8.14=jacocoAgent,jacocoAnt
7380
org.jacoco:org.jacoco.ant:0.8.14=jacocoAnt

dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploader.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -575,15 +575,27 @@ private RequestBody makeErrorTrackingRequestBody(@Nonnull CrashLog payload, bool
575575
writer.endObject();
576576
}
577577
// experimental
578-
if (payload.experimental != null && payload.experimental.ucontext != null) {
578+
if (payload.experimental != null
579+
&& (payload.experimental.ucontext != null
580+
|| payload.experimental.runtimeArgs != null)) {
579581
writer.name("experimental");
580582
writer.beginObject();
581-
writer.name("ucontext");
582-
writer.beginObject();
583-
for (Map.Entry<String, String> entry : payload.experimental.ucontext.entrySet()) {
584-
writer.name(entry.getKey()).value(entry.getValue());
583+
if (payload.experimental.ucontext != null) {
584+
writer.name("ucontext");
585+
writer.beginObject();
586+
for (Map.Entry<String, String> entry : payload.experimental.ucontext.entrySet()) {
587+
writer.name(entry.getKey()).value(entry.getValue());
588+
}
589+
writer.endObject();
590+
}
591+
if (payload.experimental.runtimeArgs != null) {
592+
writer.name("runtime_args");
593+
writer.beginArray();
594+
for (String arg : payload.experimental.runtimeArgs) {
595+
writer.value(arg);
596+
}
597+
writer.endArray();
585598
}
586-
writer.endObject();
587599
writer.endObject();
588600
}
589601
// files (e.g. /proc/self/maps or dynamic_libraries)
Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,34 @@
11
package datadog.crashtracking.dto;
22

3+
import com.squareup.moshi.Json;
4+
import java.util.List;
35
import java.util.Map;
46
import java.util.Objects;
57

68
public final class Experimental {
79
public final Map<String, String> ucontext;
810

11+
@Json(name = "runtime_args")
12+
public final List<String> runtimeArgs;
13+
914
public Experimental(Map<String, String> ucontext) {
15+
this(ucontext, null);
16+
}
17+
18+
public Experimental(Map<String, String> ucontext, List<String> runtimeArgs) {
1019
this.ucontext = ucontext;
20+
this.runtimeArgs = runtimeArgs;
1121
}
1222

1323
@Override
1424
public boolean equals(Object o) {
1525
if (!(o instanceof Experimental)) return false;
1626
Experimental that = (Experimental) o;
17-
return Objects.equals(ucontext, that.ucontext);
27+
return Objects.equals(ucontext, that.ucontext) && Objects.equals(runtimeArgs, that.runtimeArgs);
1828
}
1929

2030
@Override
2131
public int hashCode() {
22-
return Objects.hash(ucontext);
32+
return Objects.hash(ucontext, runtimeArgs);
2333
}
2434
}

0 commit comments

Comments
 (0)