-
Notifications
You must be signed in to change notification settings - Fork 303
Support reading configurations from files #8338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Add Stable config source * Add snakeyaml to parse file
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 4 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1041233
Total [baseline] (10.488 s) : 0, 10488107
Agent [candidate] (1.041 s) : 0, 1040821
Total [candidate] (10.473 s) : 0, 10473488
section appsec
Agent [baseline] (1.182 s) : 0, 1182242
Total [baseline] (10.737 s) : 0, 10736750
Agent [candidate] (1.182 s) : 0, 1182201
Total [candidate] (10.773 s) : 0, 10772686
section iast
Agent [baseline] (1.174 s) : 0, 1174371
Total [baseline] (11.023 s) : 0, 11022525
Agent [candidate] (1.178 s) : 0, 1177562
Total [candidate] (11.004 s) : 0, 11003576
section profiling
Agent [baseline] (1.26 s) : 0, 1259562
Total [baseline] (10.84 s) : 0, 10839858
Agent [candidate] (1.263 s) : 0, 1263500
Total [candidate] (10.881 s) : 0, 10880671
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.63 ms) : 0, 716630
BytebuddyAgent [candidate] (717.538 ms) : 0, 717538
GlobalTracer [baseline] (239.149 ms) : 0, 239149
GlobalTracer [candidate] (239.387 ms) : 0, 239387
AppSec [baseline] (55.82 ms) : 0, 55820
AppSec [candidate] (55.179 ms) : 0, 55179
Remote Config [baseline] (696.715 µs) : 0, 697
Remote Config [candidate] (688.965 µs) : 0, 689
Telemetry [baseline] (13.745 ms) : 0, 13745
Telemetry [candidate] (13.1 ms) : 0, 13100
section appsec
BytebuddyAgent [baseline] (734.484 ms) : 0, 734484
BytebuddyAgent [candidate] (734.376 ms) : 0, 734376
GlobalTracer [baseline] (236.349 ms) : 0, 236349
GlobalTracer [candidate] (236.275 ms) : 0, 236275
AppSec [baseline] (176.545 ms) : 0, 176545
AppSec [candidate] (176.809 ms) : 0, 176809
Remote Config [baseline] (656.317 µs) : 0, 656
Remote Config [candidate] (666.434 µs) : 0, 666
Telemetry [baseline] (8.221 ms) : 0, 8221
Telemetry [candidate] (8.308 ms) : 0, 8308
IAST [baseline] (21.505 ms) : 0, 21505
IAST [candidate] (21.585 ms) : 0, 21585
section iast
BytebuddyAgent [baseline] (837.753 ms) : 0, 837753
BytebuddyAgent [candidate] (841.885 ms) : 0, 841885
GlobalTracer [baseline] (231.736 ms) : 0, 231736
GlobalTracer [candidate] (230.94 ms) : 0, 230940
AppSec [baseline] (57.319 ms) : 0, 57319
AppSec [candidate] (57.345 ms) : 0, 57345
Remote Config [baseline] (611.182 µs) : 0, 611
Remote Config [candidate] (610.817 µs) : 0, 611
Telemetry [baseline] (8.727 ms) : 0, 8727
Telemetry [candidate] (8.67 ms) : 0, 8670
IAST [baseline] (22.9 ms) : 0, 22900
IAST [candidate] (22.957 ms) : 0, 22957
section profiling
ProfilingAgent [baseline] (95.647 ms) : 0, 95647
ProfilingAgent [candidate] (96.552 ms) : 0, 96552
BytebuddyAgent [baseline] (707.292 ms) : 0, 707292
BytebuddyAgent [candidate] (710.746 ms) : 0, 710746
GlobalTracer [baseline] (349.168 ms) : 0, 349168
GlobalTracer [candidate] (351.255 ms) : 0, 351255
AppSec [baseline] (55.652 ms) : 0, 55652
AppSec [candidate] (54.818 ms) : 0, 54818
Remote Config [baseline] (668.793 µs) : 0, 669
Remote Config [candidate] (665.533 µs) : 0, 666
Telemetry [baseline] (8.863 ms) : 0, 8863
Telemetry [candidate] (8.979 ms) : 0, 8979
Profiling [baseline] (95.671 ms) : 0, 95671
Profiling [candidate] (96.575 ms) : 0, 96575
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.039 s) : 0, 1039369
Total [baseline] (8.656 s) : 0, 8655632
Agent [candidate] (1.038 s) : 0, 1037933
Total [candidate] (8.658 s) : 0, 8657647
section iast
Agent [baseline] (1.173 s) : 0, 1172913
Total [baseline] (9.207 s) : 0, 9207411
Agent [candidate] (1.175 s) : 0, 1175026
Total [candidate] (9.279 s) : 0, 9279328
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.177 s) : 0, 1176594
Total [baseline] (9.235 s) : 0, 9235120
Agent [candidate] (1.169 s) : 0, 1168519
Total [candidate] (9.222 s) : 0, 9221527
section iast_TELEMETRY_OFF
Agent [baseline] (1.176 s) : 0, 1175683
Total [baseline] (9.213 s) : 0, 9212768
Agent [candidate] (1.169 s) : 0, 1168849
Total [candidate] (9.186 s) : 0, 9185727
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (717.748 ms) : 0, 717748
BytebuddyAgent [candidate] (715.494 ms) : 0, 715494
GlobalTracer [baseline] (239.595 ms) : 0, 239595
GlobalTracer [candidate] (238.604 ms) : 0, 238604
AppSec [baseline] (55.399 ms) : 0, 55399
AppSec [candidate] (55.424 ms) : 0, 55424
Remote Config [baseline] (694.84 µs) : 0, 695
Remote Config [candidate] (685.943 µs) : 0, 686
Telemetry [baseline] (10.726 ms) : 0, 10726
Telemetry [candidate] (12.829 ms) : 0, 12829
section iast
BytebuddyAgent [baseline] (837.583 ms) : 0, 837583
BytebuddyAgent [candidate] (839.689 ms) : 0, 839689
GlobalTracer [baseline] (230.463 ms) : 0, 230463
GlobalTracer [candidate] (230.618 ms) : 0, 230618
IAST [baseline] (22.771 ms) : 0, 22771
IAST [candidate] (22.871 ms) : 0, 22871
AppSec [baseline] (57.4 ms) : 0, 57400
AppSec [candidate] (57.39 ms) : 0, 57390
Remote Config [baseline] (611.672 µs) : 0, 612
Remote Config [candidate] (614.629 µs) : 0, 615
Telemetry [baseline] (8.762 ms) : 0, 8762
Telemetry [candidate] (8.82 ms) : 0, 8820
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (839.205 ms) : 0, 839205
BytebuddyAgent [candidate] (834.436 ms) : 0, 834436
GlobalTracer [baseline] (231.812 ms) : 0, 231812
GlobalTracer [candidate] (229.994 ms) : 0, 229994
IAST [baseline] (23.183 ms) : 0, 23183
IAST [candidate] (22.798 ms) : 0, 22798
AppSec [baseline] (57.63 ms) : 0, 57630
AppSec [candidate] (57.046 ms) : 0, 57046
Remote Config [baseline] (609.072 µs) : 0, 609
Remote Config [candidate] (609.446 µs) : 0, 609
Telemetry [baseline] (8.709 ms) : 0, 8709
Telemetry [candidate] (8.7 ms) : 0, 8700
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (838.907 ms) : 0, 838907
BytebuddyAgent [candidate] (834.983 ms) : 0, 834983
GlobalTracer [baseline] (231.526 ms) : 0, 231526
GlobalTracer [candidate] (230.228 ms) : 0, 230228
IAST [baseline] (24.966 ms) : 0, 24966
IAST [candidate] (24.833 ms) : 0, 24833
AppSec [baseline] (55.439 ms) : 0, 55439
AppSec [candidate] (54.614 ms) : 0, 54614
Remote Config [baseline] (625.753 µs) : 0, 626
Remote Config [candidate] (618.879 µs) : 0, 619
Telemetry [baseline] (8.692 ms) : 0, 8692
Telemetry [candidate] (8.618 ms) : 0, 8618
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 10 metrics, 19 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section baseline
no_agent (1.349 ms) : 1329, 1368
. : milestone, 1349,
appsec (1.727 ms) : 1703, 1751
. : milestone, 1727,
appsec_no_iast (1.757 ms) : 1733, 1780
. : milestone, 1757,
code_origins (1.671 ms) : 1637, 1704
. : milestone, 1671,
iast (1.502 ms) : 1477, 1527
. : milestone, 1502,
profiling (1.489 ms) : 1465, 1513
. : milestone, 1489,
tracing (1.491 ms) : 1466, 1516
. : milestone, 1491,
section candidate
no_agent (1.378 ms) : 1358, 1397
. : milestone, 1378,
appsec (1.75 ms) : 1727, 1774
. : milestone, 1750,
appsec_no_iast (1.746 ms) : 1722, 1771
. : milestone, 1746,
code_origins (1.67 ms) : 1637, 1702
. : milestone, 1670,
iast (1.51 ms) : 1486, 1534
. : milestone, 1510,
profiling (1.558 ms) : 1533, 1583
. : milestone, 1558,
tracing (1.484 ms) : 1459, 1509
. : milestone, 1484,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section baseline
no_agent (379.037 µs) : 359, 399
. : milestone, 379,
iast (503.952 µs) : 482, 526
. : milestone, 504,
iast_FULL (722.476 µs) : 701, 744
. : milestone, 722,
iast_GLOBAL (561.892 µs) : 540, 584
. : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (501.09 µs) : 480, 523
. : milestone, 501,
iast_INACTIVE (453.408 µs) : 432, 475
. : milestone, 453,
iast_TELEMETRY_OFF (495.435 µs) : 472, 519
. : milestone, 495,
tracing (447.093 µs) : 426, 468
. : milestone, 447,
section candidate
no_agent (382.192 µs) : 363, 402
. : milestone, 382,
iast (505.806 µs) : 483, 529
. : milestone, 506,
iast_FULL (727.323 µs) : 705, 749
. : milestone, 727,
iast_GLOBAL (549.276 µs) : 528, 571
. : milestone, 549,
iast_HARDCODED_SECRET_DISABLED (505.591 µs) : 483, 528
. : milestone, 506,
iast_INACTIVE (455.299 µs) : 434, 476
. : milestone, 455,
iast_TELEMETRY_OFF (495.757 µs) : 473, 519
. : milestone, 496,
tracing (453.352 µs) : 432, 474
. : milestone, 453,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section baseline
no_agent (15.52 s) : 15520000, 15520000
. : milestone, 15520000,
appsec (15.12 s) : 15120000, 15120000
. : milestone, 15120000,
iast (18.987 s) : 18987000, 18987000
. : milestone, 18987000,
iast_GLOBAL (17.821 s) : 17821000, 17821000
. : milestone, 17821000,
profiling (15.553 s) : 15553000, 15553000
. : milestone, 15553000,
tracing (14.917 s) : 14917000, 14917000
. : milestone, 14917000,
section candidate
no_agent (15.227 s) : 15227000, 15227000
. : milestone, 15227000,
appsec (15.035 s) : 15035000, 15035000
. : milestone, 15035000,
iast (19.137 s) : 19137000, 19137000
. : milestone, 19137000,
iast_GLOBAL (18.156 s) : 18156000, 18156000
. : milestone, 18156000,
profiling (15.154 s) : 15154000, 15154000
. : milestone, 15154000,
tracing (15.008 s) : 15008000, 15008000
. : milestone, 15008000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~eb7618b646, baseline=1.47.0-SNAPSHOT~2d7d791511
dateFormat X
axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
. : milestone, 1467,
appsec (2.352 ms) : 2308, 2395
. : milestone, 2352,
iast (2.098 ms) : 2044, 2153
. : milestone, 2098,
iast_GLOBAL (2.147 ms) : 2092, 2203
. : milestone, 2147,
profiling (1.966 ms) : 1922, 2011
. : milestone, 1966,
tracing (1.946 ms) : 1903, 1988
. : milestone, 1946,
section candidate
no_agent (1.466 ms) : 1455, 1478
. : milestone, 1466,
appsec (2.355 ms) : 2311, 2398
. : milestone, 2355,
iast (2.107 ms) : 2052, 2162
. : milestone, 2107,
iast_GLOBAL (2.151 ms) : 2095, 2206
. : milestone, 2151,
profiling (1.952 ms) : 1909, 1996
. : milestone, 1952,
tracing (1.93 ms) : 1888, 1972
. : milestone, 1930,
|
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
…ider/StableConfigSource.java Co-authored-by: datadog-datadog-prod-us1[bot] <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com>
…a into mtoff/stable_config
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
…ider/StableConfigSource.java Co-authored-by: datadog-datadog-prod-us1[bot] <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com>
…ider/StableConfigSource.java Co-authored-by: datadog-datadog-prod-us1[bot] <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com>
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy
Outdated
Show resolved
Hide resolved
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
trimQuotes(keyValueMatcher.group(2).trim())); // Store key-value pair in map | ||
} else { | ||
// If we encounter a non-indented or non-key-value line, stop processing | ||
apmConfigFound.set(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could use an integer (maybe int[1]
) to represent three states:
0
- apm config not found1
- apm config block started-1
- apm config block ended
that could let us short-circuit the rest of the file once the apm config block has been parsed.
But I'm also OK with merging this part as-is for now (maybe using arrays instead of AtomicBoolean
) because this will only activate when the file(s) exist - we can continue to iterate on this part of the code in a followup PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that could let us short-circuit the rest of the file once the apm config block has been parsed.
This could be a problem if the config_id comes after apm_configuration_default, unless we add another condition to hold config_id_found
?
In the words of the RFC owner [when asked about whether config_id may ever come after apm_configuration_default]: "I don't know if we should assume any order though"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also: For the user-managed file, we only care about apm_configuration_default. For fleet-managed file, we care about both config_id and apm_configuration_default, so the "early return" conditions differ between these cases.
I could add an argument to the parse
function that specifies whether we can return early after apm_configuration_default, or only after both apm_configuration_default and config_id.
Alternatively, I can leave the function signature as-is, and not return early at all (although early return seems ideal to me).
…ider/StableConfigSource.java Co-authored-by: Stuart McCulloch <[email protected]>
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java
Outdated
Show resolved
Hide resolved
// Use AtomicBoolean because it's mutable within a lambda expression to | ||
boolean[] apmConfigFound = | ||
new boolean[1]; // Track if we've found 'apm_configuration_default:' | ||
boolean[] configIdFound = new boolean[1]; // Track if we've found 'config_id:' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you could just check configId[0] != null
to tell if we've found a config id and avoid this extra array
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you mean? Like not initialize configIdFound here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace if (configIdFound[0]) {
with if (configId[0] != null) {
and then remove configIdFound
completely from the rest of the code
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigParser.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Outdated
Show resolved
Hide resolved
internal-api/src/main/java/datadog/trace/bootstrap/config/provider/StableConfigSource.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of suggested improvements, otherwise this is good to merge.
We can look into improving the parser next week via a follow-on PR.
…strap/Agent.java Co-authored-by: Stuart McCulloch <[email protected]>
…ider/StableConfigSource.java Co-authored-by: Stuart McCulloch <[email protected]>
…ider/StableConfigSource.java Co-authored-by: Stuart McCulloch <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | --- ### Release Notes <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.47.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.47.0): 1.47.0 ##### Components ##### Application Security Management (IAST) - 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST SSRF vulnerability false positives ([#​8483](DataDog/dd-trace-java#8483) - [@​jandro996](https://github.com/jandro996)) - 🐛 Add exclusion to solve IAST weak randomness vulnerability false positives ([#​8462](DataDog/dd-trace-java#8462) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak randomness false positive in Kafka client ([#​8408](DataDog/dd-trace-java#8408) - [@​smola](https://github.com/smola)) - ✨ Fix location for SSRF with Kong Unirest ([#​8407](DataDog/dd-trace-java#8407) - [@​smola](https://github.com/smola)) - ✨ Exclude IBM Instana from IAST ([#​8406](DataDog/dd-trace-java#8406) - [@​smola](https://github.com/smola)) - 🐛 Fix org.json iast instrumentation test for latest dependency ([#​8347](DataDog/dd-trace-java#8347) - [@​jandro996](https://github.com/jandro996)) - ✨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) - ✨ Address cookie vulnerability cardinality issues ([#​8210](DataDog/dd-trace-java#8210) - [@​jandro996](https://github.com/jandro996)) - ✨ Email HTML Injection detection in IAST ([#​8205](DataDog/dd-trace-java#8205) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Application Security Management (WAF) - 🐛✨ Ensure usr.exists tag is not overridden when UsernameNotFoundException is thrown ([#​8376](DataDog/dd-trace-java#8376) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛✨ Ensure usr.exists tag is not overridden by auto instrumentation ([#​8374](DataDog/dd-trace-java#8374) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Update appsec metrics with event_rules_version tag ([#​8354](DataDog/dd-trace-java#8354) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Improve ASM support in vert.x 5.0 ([#​8285](DataDog/dd-trace-java#8285) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Update metrics: appsec.waf.updates and appsec.waf.init ([#​8280](DataDog/dd-trace-java#8280) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) ##### Build & Tooling - 🐛 Do not generate Muzzle references for primitive arrays in method body ([#​8361](DataDog/dd-trace-java#8361) - [@​amarziali](https://github.com/amarziali)) - 📖 Improve dev env setup documentation for Windows ([#​8180](DataDog/dd-trace-java#8180) - [@​lucaspimentel](https://github.com/lucaspimentel)) ##### Continuous Integration Visibility - ✨ Add support for skip-EFD tagging ([#​8487](DataDog/dd-trace-java#8487) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix an NPE in Gradle Android instrumentation ([#​8484](DataDog/dd-trace-java#8484) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Consider modified tests when applying fail-fast tests ordering ([#​8474](DataDog/dd-trace-java#8474) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement tests reordering for TestNG ([#​8467](DataDog/dd-trace-java#8467) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle Test Kit ([#​8465](DataDog/dd-trace-java#8465) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Use separate TestEventHandlers per framework in CI Vis instrumentations ([#​8451](DataDog/dd-trace-java#8451) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Remove warning log when JUnit 4 test method cannot be retrieved ([#​8445](DataDog/dd-trace-java#8445) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Scalatest tracing for tests that are reported asynchronously ([#​8444](DataDog/dd-trace-java#8444) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement attempt to fix tests ([#​8393](DataDog/dd-trace-java#8393) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement test disabling ([#​8377](DataDog/dd-trace-java#8377) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update CODEOWNERS parser to not log errors on comments with leading whitespace ([#​8349](DataDog/dd-trace-java#8349) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Request Test Management tests list ([#​8345](DataDog/dd-trace-java#8345) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Receive test management settings from CIVis settings request ([#​8331](DataDog/dd-trace-java#8331) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement quarantined tests tagging ([#​8326](DataDog/dd-trace-java#8326) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement tests quarantining ([#​8320](DataDog/dd-trace-java#8320) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add tag to specify if the user is setting DD_SERVICE ([#​8318](DataDog/dd-trace-java#8318) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) ##### Crash tracking - ✨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - 🐛 Use Java home of the crashed process to launch crash uploader ([#​8348](DataDog/dd-trace-java#8348) - [@​jbachorik](https://github.com/jbachorik)) ##### Data Streams Monitoring - 🐛 Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - 🐛 Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) - 🐛 Fix service name overrides in consumers ([#​8387](DataDog/dd-trace-java#8387) - [@​piochelepiotr](https://github.com/piochelepiotr)) ##### Database Monitoring - ✨ Add DBMTracePreparedStatements to tracer configuration log ([#​8508](DataDog/dd-trace-java#8508) - [@​cecile75](https://github.com/cecile75)) ##### Dynamic Instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - 🐛 Fix Exception Replay with Lambda proxy classes ([#​8452](DataDog/dd-trace-java#8452) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add support for scanning jar from loaded class ([#​8370](DataDog/dd-trace-java#8370) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Disable capture of entry values ([#​8369](DataDog/dd-trace-java#8369) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix CodeOrigin for `@Trace` annotation ([#​8344](DataDog/dd-trace-java#8344) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix equals/hashCode for CodeOrigin probe ([#​8319](DataDog/dd-trace-java#8319) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### Metrics - ✨ Create metric: appsec.waf.error ([#​8381](DataDog/dd-trace-java#8381) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Create metric: appsec.rasp.error ([#​8364](DataDog/dd-trace-java#8364) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Profiling - ✨ Bump ddprof library to 1.22.0 ([#​8463](DataDog/dd-trace-java#8463) - [@​jbachorik](https://github.com/jbachorik)) - IBM J9 8u361 corresponds to OpenJDK 8u362 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#187 - Fix compatibility with musl libc 1.2.4 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#189 - Modify version extraction by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#179 - Do not write null values to jvminfo event by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#184 - Productize VMStructs-based stack walker by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#177 - A few minor downport issues by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#180 - Enable ASGCT by default on fairly safe J9 JDK versions by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#181 - 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements ([#​8456](DataDog/dd-trace-java#8456) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Record JVM info on JVMs without JFR ([#​8431](DataDog/dd-trace-java#8431) - [@​jbachorik](https://github.com/jbachorik)) - 🐛 Actually use CleanupTask in TempLocationManager ([#​8420](DataDog/dd-trace-java#8420) - [@​mcculls](https://github.com/mcculls)) - ✨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - 🐛 Adjust JFR checks for J9 ([#​8405](DataDog/dd-trace-java#8405) - [@​jbachorik](https://github.com/jbachorik)) - 🧹 Disable smap RSS parsing by default ([#​8342](DataDog/dd-trace-java#8342) - [@​MattAlp](https://github.com/MattAlp)) ##### Telemetry - 🐛 Add support for JBoss jar:file format to DependencyResolver ([#​8428](DataDog/dd-trace-java#8428) - [@​jandro996](https://github.com/jandro996)) - ✨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) ##### Trace context propagation - ✨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Tracer core - 🐛 Fix Stable Config telemetry source names ([#​8460](DataDog/dd-trace-java#8460) - [@​BaptisteFoy](https://github.com/BaptisteFoy)) - ✨ Probe trace endpoints with a valid payload of empty arrays ([#​8414](DataDog/dd-trace-java#8414) - [@​mcculls](https://github.com/mcculls)) - ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback ([#​8399](DataDog/dd-trace-java#8399) - [@​mcculls](https://github.com/mcculls)) - ✨ Migrate DSM injection calls to context-first APIs ([#​8383](DataDog/dd-trace-java#8383) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🧹 Move continuation capture methods from scope to tracer ([#​8371](DataDog/dd-trace-java#8371) - [@​mcculls](https://github.com/mcculls)) - ✨ Migrate context extraction calls to context-first APIs ([#​8368](DataDog/dd-trace-java#8368) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🧹 Migrate context injection calls to context-first APIs ([#​8358](DataDog/dd-trace-java#8358) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 💡 Support reading configurations from files ([#​8338](DataDog/dd-trace-java#8338) - [@​mtoffl01](https://github.com/mtoffl01)) - 💡 Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - 🧹 Combine continuation implementations into one which supports multiple activations ([#​8324](DataDog/dd-trace-java#8324) - [@​mcculls](https://github.com/mcculls)) - ✨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ Remove old context propagation API ([#​8271](DataDog/dd-trace-java#8271) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Instrumentations ##### AWS Lambda instrumentation - 🐛 Send error message and stack to Lambda extension ([#​8417](DataDog/dd-trace-java#8417) - [@​nhulston](https://github.com/nhulston)) ##### AWS SDK instrumentation - 🐛 Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - 💡 Inject trace context into AWS Step Functions input ([#​7585](DataDog/dd-trace-java#7585) - [@​DylanLovesCoffee](https://github.com/DylanLovesCoffee)) ##### Core Java language instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - 💡 Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - ✨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### gRPC instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) ##### Kafka instrumentation - ✨ Add messaging.destination.name tag to kafka integrations ([#​8366](DataDog/dd-trace-java#8366) - [@​rarguelloF](https://github.com/rarguelloF)) ##### Protocol Buffer instrumentation - 🐛 Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
Motivation
Stable Configuration: Phase 1
Support reading configuration key-vals from user-managed (/etc/datadog-agent/application_monitoring.yaml) and fleet-managed (/etc/datadog-agent/managed/datadog-agent/stable/application_monitoring.yaml) yaml files. All valid configurations found at these file paths will apply to the compatible tracer instances that discover them.
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]