Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Support targeting services with configurations in stable configuration file #8526

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

Merged
merged 109 commits into from
Apr 4, 2025

Conversation

mtoffl01
Copy link
Contributor

@mtoffl01 mtoffl01 commented Mar 7, 2025

What Does This Do

Apply configurations to processes based on target rules specified in stable configuration files.
Stable Configuration, Phase 2: RFC

Motivation

Configs were previously applied to all [compatible] processes running on the injected server; with Phase 2, you can apply configurations to specific processes, rather than across the server.

Additional Notes

Passing all system tests: DataDog/system-tests#4333

Contributor Checklist

Jira ticket: [PROJ-IDENT]

mtoffl01 and others added 5 commits March 10, 2025 14:57
…ider/VMArgsCache.java

Co-authored-by: datadog-datadog-prod-us1[bot] <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com>
…ider/VMArgsCache.java

Co-authored-by: datadog-datadog-prod-us1[bot] <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com>
…ider/VMArgsCache.java

Co-authored-by: datadog-datadog-prod-us1[bot] <88084959+datadog-datadog-prod-us1[bot]@users.noreply.github.com>
@pr-commenter
Copy link

pr-commenter bot commented Mar 11, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mtoff/stable_cfg_2
git_commit_date 1743705303 1743712892
git_commit_sha 8adba3f 23f1013
release_version 1.48.0-SNAPSHOT~8adba3f8b4 1.48.0-SNAPSHOT~23f1013e88
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743715934 1743715934
ci_job_id 880473414 880473414
ci_pipeline_id 61036396 61036396
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-gtma1pc4-project-304-concurrent-0-rzwfrtq7 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-gtma1pc4-project-304-concurrent-0-rzwfrtq7 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 65 metrics, 6 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1064979
Total [baseline] (8.718 s) : 0, 8718335
Agent [candidate] (1.058 s) : 0, 1057675
Total [candidate] (8.701 s) : 0, 8700935
section iast
Agent [baseline] (1.191 s) : 0, 1190611
Total [baseline] (9.286 s) : 0, 9286451
Agent [candidate] (1.206 s) : 0, 1205841
Total [candidate] (9.3 s) : 0, 9299707
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.184 s) : 0, 1183871
Total [baseline] (9.267 s) : 0, 9266881
Agent [candidate] (1.195 s) : 0, 1194628
Total [candidate] (9.247 s) : 0, 9246783
section iast_TELEMETRY_OFF
Agent [baseline] (1.176 s) : 0, 1176197
Total [baseline] (9.285 s) : 0, 9284531
Agent [candidate] (1.187 s) : 0, 1186520
Total [candidate] (9.281 s) : 0, 9281035
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.191 s 125.632 ms (11.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.184 s 118.892 ms (11.2%)
Agent iast_TELEMETRY_OFF 1.176 s 111.218 ms (10.4%)
Total tracing 8.718 s -
Total iast 9.286 s 568.117 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.267 s 548.546 ms (6.3%)
Total iast_TELEMETRY_OFF 9.285 s 566.196 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent iast 1.206 s 148.167 ms (14.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.195 s 136.954 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.187 s 128.845 ms (12.2%)
Total tracing 8.701 s -
Total iast 9.3 s 598.772 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.247 s 545.848 ms (6.3%)
Total iast_TELEMETRY_OFF 9.281 s 580.1 ms (6.7%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (726.956 ms) : 0, 726956
BytebuddyAgent [candidate] (722.392 ms) : 0, 722392
GlobalTracer [baseline] (242.358 ms) : 0, 242358
GlobalTracer [candidate] (240.453 ms) : 0, 240453
AppSec [baseline] (57.516 ms) : 0, 57516
AppSec [candidate] (54.613 ms) : 0, 54613
Debugger [baseline] (4.445 ms) : 0, 4445
Debugger [candidate] (4.392 ms) : 0, 4392
Remote Config [baseline] (712.461 µs) : 0, 712
Remote Config [candidate] (691.579 µs) : 0, 692
Telemetry [baseline] (12.285 ms) : 0, 12285
Telemetry [candidate] (14.371 ms) : 0, 14371
section iast
BytebuddyAgent [baseline] (845.8 ms) : 0, 845800
BytebuddyAgent [candidate] (857.472 ms) : 0, 857472
GlobalTracer [baseline] (231.085 ms) : 0, 231085
GlobalTracer [candidate] (233.611 ms) : 0, 233611
IAST [baseline] (23.613 ms) : 0, 23613
IAST [candidate] (23.208 ms) : 0, 23208
AppSec [baseline] (55.794 ms) : 0, 55794
AppSec [candidate] (56.681 ms) : 0, 56681
Debugger [baseline] (4.232 ms) : 0, 4232
Debugger [candidate] (4.194 ms) : 0, 4194
Remote Config [baseline] (626.721 µs) : 0, 627
Remote Config [candidate] (610.628 µs) : 0, 611
Telemetry [baseline] (8.895 ms) : 0, 8895
Telemetry [candidate] (8.951 ms) : 0, 8951
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (839.5 ms) : 0, 839500
BytebuddyAgent [candidate] (848.512 ms) : 0, 848512
GlobalTracer [baseline] (231.567 ms) : 0, 231567
GlobalTracer [candidate] (231.919 ms) : 0, 231919
IAST [baseline] (22.938 ms) : 0, 22938
IAST [candidate] (23.119 ms) : 0, 23119
AppSec [baseline] (55.772 ms) : 0, 55772
AppSec [candidate] (56.442 ms) : 0, 56442
Debugger [baseline] (4.161 ms) : 0, 4161
Debugger [candidate] (4.171 ms) : 0, 4171
Remote Config [baseline] (619.698 µs) : 0, 620
Remote Config [candidate] (601.703 µs) : 0, 602
Telemetry [baseline] (8.799 ms) : 0, 8799
Telemetry [candidate] (8.76 ms) : 0, 8760
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (835.063 ms) : 0, 835063
BytebuddyAgent [candidate] (843.471 ms) : 0, 843471
GlobalTracer [baseline] (229.315 ms) : 0, 229315
GlobalTracer [candidate] (230.489 ms) : 0, 230489
IAST [baseline] (22.255 ms) : 0, 22255
IAST [candidate] (22.222 ms) : 0, 22222
AppSec [baseline] (55.86 ms) : 0, 55860
AppSec [candidate] (56.047 ms) : 0, 56047
Debugger [baseline] (4.171 ms) : 0, 4171
Debugger [candidate] (4.135 ms) : 0, 4135
Remote Config [baseline] (602.08 µs) : 0, 602
Remote Config [candidate] (606.042 µs) : 0, 606
Telemetry [baseline] (8.539 ms) : 0, 8539
Telemetry [candidate] (8.634 ms) : 0, 8634
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.053 s) : 0, 1053041
Total [baseline] (10.5 s) : 0, 10500128
Agent [candidate] (1.057 s) : 0, 1056625
Total [candidate] (10.488 s) : 0, 10488334
section appsec
Agent [baseline] (1.194 s) : 0, 1193540
Total [baseline] (10.725 s) : 0, 10724595
Agent [candidate] (1.203 s) : 0, 1203327
Total [candidate] (10.767 s) : 0, 10766857
section iast
Agent [baseline] (1.182 s) : 0, 1182276
Total [baseline] (11.022 s) : 0, 11022487
Agent [candidate] (1.185 s) : 0, 1184636
Total [candidate] (11.074 s) : 0, 11074431
section profiling
Agent [baseline] (1.284 s) : 0, 1283874
Total [baseline] (10.857 s) : 0, 10856990
Agent [candidate] (1.281 s) : 0, 1281414
Total [candidate] (10.92 s) : 0, 10919543
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent appsec 1.194 s 140.499 ms (13.3%)
Agent iast 1.182 s 129.235 ms (12.3%)
Agent profiling 1.284 s 230.833 ms (21.9%)
Total tracing 10.5 s -
Total appsec 10.725 s 224.467 ms (2.1%)
Total iast 11.022 s 522.359 ms (5.0%)
Total profiling 10.857 s 356.862 ms (3.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.203 s 146.701 ms (13.9%)
Agent iast 1.185 s 128.011 ms (12.1%)
Agent profiling 1.281 s 224.789 ms (21.3%)
Total tracing 10.488 s -
Total appsec 10.767 s 278.523 ms (2.7%)
Total iast 11.074 s 586.097 ms (5.6%)
Total profiling 10.92 s 431.21 ms (4.1%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.437 ms) : 0, 720437
BytebuddyAgent [candidate] (721.864 ms) : 0, 721864
GlobalTracer [baseline] (239.701 ms) : 0, 239701
GlobalTracer [candidate] (239.787 ms) : 0, 239787
AppSec [baseline] (54.396 ms) : 0, 54396
AppSec [candidate] (55.284 ms) : 0, 55284
Debugger [baseline] (4.392 ms) : 0, 4392
Debugger [candidate] (4.423 ms) : 0, 4423
Remote Config [baseline] (698.924 µs) : 0, 699
Remote Config [candidate] (705.941 µs) : 0, 706
Telemetry [baseline] (12.896 ms) : 0, 12896
Telemetry [candidate] (13.665 ms) : 0, 13665
section appsec
BytebuddyAgent [baseline] (737.337 ms) : 0, 737337
BytebuddyAgent [candidate] (743.569 ms) : 0, 743569
GlobalTracer [baseline] (235.685 ms) : 0, 235685
GlobalTracer [candidate] (237.619 ms) : 0, 237619
IAST [baseline] (21.64 ms) : 0, 21640
IAST [candidate] (21.655 ms) : 0, 21655
AppSec [baseline] (175.726 ms) : 0, 175726
AppSec [candidate] (176.076 ms) : 0, 176076
Debugger [baseline] (4.28 ms) : 0, 4280
Debugger [candidate] (4.316 ms) : 0, 4316
Remote Config [baseline] (640.648 µs) : 0, 641
Remote Config [candidate] (662.441 µs) : 0, 662
Telemetry [baseline] (8.631 ms) : 0, 8631
Telemetry [candidate] (9.347 ms) : 0, 9347
section iast
BytebuddyAgent [baseline] (839.528 ms) : 0, 839528
BytebuddyAgent [candidate] (841.263 ms) : 0, 841263
GlobalTracer [baseline] (230.062 ms) : 0, 230062
GlobalTracer [candidate] (230.632 ms) : 0, 230632
IAST [baseline] (22.851 ms) : 0, 22851
IAST [candidate] (22.708 ms) : 0, 22708
AppSec [baseline] (55.992 ms) : 0, 55992
AppSec [candidate] (55.772 ms) : 0, 55772
Debugger [baseline] (4.1 ms) : 0, 4100
Debugger [candidate] (4.13 ms) : 0, 4130
Remote Config [baseline] (620.576 µs) : 0, 621
Remote Config [candidate] (597.693 µs) : 0, 598
Telemetry [baseline] (8.664 ms) : 0, 8664
Telemetry [candidate] (8.728 ms) : 0, 8728
section profiling
BytebuddyAgent [baseline] (714.777 ms) : 0, 714777
BytebuddyAgent [candidate] (712.099 ms) : 0, 712099
GlobalTracer [baseline] (351.025 ms) : 0, 351025
GlobalTracer [candidate] (350.267 ms) : 0, 350267
AppSec [baseline] (54.599 ms) : 0, 54599
AppSec [candidate] (53.627 ms) : 0, 53627
Debugger [baseline] (4.338 ms) : 0, 4338
Debugger [candidate] (4.337 ms) : 0, 4337
Remote Config [baseline] (709.369 µs) : 0, 709
Remote Config [candidate] (706.588 µs) : 0, 707
Telemetry [baseline] (9.057 ms) : 0, 9057
Telemetry [candidate] (8.975 ms) : 0, 8975
ProfilingAgent [baseline] (103.242 ms) : 0, 103242
ProfilingAgent [candidate] (103.299 ms) : 0, 103299
Profiling [baseline] (103.269 ms) : 0, 103269
Profiling [candidate] (103.325 ms) : 0, 103325
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-03T21:02:25 2025-04-03T21:10:10
git_branch master mtoff/stable_cfg_2
git_commit_date 1743705303 1743712892
git_commit_sha 8adba3f 23f1013
release_version 1.48.0-SNAPSHOT~8adba3f8b4 1.48.0-SNAPSHOT~23f1013e88
start_time 2025-04-03T21:02:10 2025-04-03T21:09:56
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743715008 1743715008
ci_job_id 880473415 880473415
ci_pipeline_id 61036396 61036396
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-gtma1pc4-project-304-concurrent-1-mf6cgl0e 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-gtma1pc4-project-304-concurrent-1-mf6cgl0e 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 14 metrics, 16 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.352 ms) : 1333, 1372
.   : milestone, 1352,
appsec (1.73 ms) : 1706, 1754
.   : milestone, 1730,
appsec_no_iast (1.738 ms) : 1714, 1762
.   : milestone, 1738,
code_origins (1.673 ms) : 1646, 1700
.   : milestone, 1673,
iast (1.527 ms) : 1503, 1552
.   : milestone, 1527,
profiling (1.523 ms) : 1499, 1547
.   : milestone, 1523,
tracing (1.497 ms) : 1471, 1522
.   : milestone, 1497,
section candidate
no_agent (1.353 ms) : 1333, 1372
.   : milestone, 1353,
appsec (1.747 ms) : 1724, 1769
.   : milestone, 1747,
appsec_no_iast (1.737 ms) : 1714, 1759
.   : milestone, 1737,
code_origins (1.697 ms) : 1671, 1723
.   : milestone, 1697,
iast (1.516 ms) : 1491, 1541
.   : milestone, 1516,
profiling (1.526 ms) : 1502, 1550
.   : milestone, 1526,
tracing (1.486 ms) : 1461, 1511
.   : milestone, 1486,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.352 ms [1.333 ms, 1.372 ms] -
appsec 1.73 ms [1.706 ms, 1.754 ms] 377.834 µs (27.9%)
appsec_no_iast 1.738 ms [1.714 ms, 1.762 ms] 385.646 µs (28.5%)
code_origins 1.673 ms [1.646 ms, 1.7 ms] 320.383 µs (23.7%)
iast 1.527 ms [1.503 ms, 1.552 ms] 175.06 µs (12.9%)
profiling 1.523 ms [1.499 ms, 1.547 ms] 170.545 µs (12.6%)
tracing 1.497 ms [1.471 ms, 1.522 ms] 144.162 µs (10.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.353 ms [1.333 ms, 1.372 ms] -
appsec 1.747 ms [1.724 ms, 1.769 ms] 393.746 µs (29.1%)
appsec_no_iast 1.737 ms [1.714 ms, 1.759 ms] 383.744 µs (28.4%)
code_origins 1.697 ms [1.671 ms, 1.723 ms] 343.947 µs (25.4%)
iast 1.516 ms [1.491 ms, 1.541 ms] 163.256 µs (12.1%)
profiling 1.526 ms [1.502 ms, 1.55 ms] 173.32 µs (12.8%)
tracing 1.486 ms [1.461 ms, 1.511 ms] 132.795 µs (9.8%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4
    dateFormat X
    axisFormat %s
section baseline
no_agent (379.884 µs) : 360, 400
.   : milestone, 380,
iast (512.907 µs) : 491, 535
.   : milestone, 513,
iast_FULL (728.76 µs) : 706, 751
.   : milestone, 729,
iast_GLOBAL (559.055 µs) : 537, 581
.   : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (512.776 µs) : 491, 535
.   : milestone, 513,
iast_INACTIVE (463.451 µs) : 442, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (497.455 µs) : 476, 519
.   : milestone, 497,
tracing (453.181 µs) : 432, 474
.   : milestone, 453,
section candidate
no_agent (379.133 µs) : 359, 399
.   : milestone, 379,
iast (514.609 µs) : 492, 537
.   : milestone, 515,
iast_FULL (732.832 µs) : 711, 755
.   : milestone, 733,
iast_GLOBAL (561.636 µs) : 539, 584
.   : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (509.291 µs) : 488, 531
.   : milestone, 509,
iast_INACTIVE (465.462 µs) : 444, 487
.   : milestone, 465,
iast_TELEMETRY_OFF (491.772 µs) : 470, 514
.   : milestone, 492,
tracing (466.941 µs) : 446, 488
.   : milestone, 467,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 379.884 µs [360.072 µs, 399.695 µs] -
iast 512.907 µs [491.281 µs, 534.533 µs] 133.023 µs (35.0%)
iast_FULL 728.76 µs [706.212 µs, 751.307 µs] 348.876 µs (91.8%)
iast_GLOBAL 559.055 µs [537.279 µs, 580.831 µs] 179.172 µs (47.2%)
iast_HARDCODED_SECRET_DISABLED 512.776 µs [490.824 µs, 534.727 µs] 132.892 µs (35.0%)
iast_INACTIVE 463.451 µs [442.339 µs, 484.563 µs] 83.567 µs (22.0%)
iast_TELEMETRY_OFF 497.455 µs [475.978 µs, 518.933 µs] 117.572 µs (30.9%)
tracing 453.181 µs [432.498 µs, 473.864 µs] 73.297 µs (19.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 379.133 µs [358.94 µs, 399.325 µs] -
iast 514.609 µs [492.351 µs, 536.868 µs] 135.477 µs (35.7%)
iast_FULL 732.832 µs [710.867 µs, 754.797 µs] 353.7 µs (93.3%)
iast_GLOBAL 561.636 µs [539.069 µs, 584.204 µs] 182.504 µs (48.1%)
iast_HARDCODED_SECRET_DISABLED 509.291 µs [487.744 µs, 530.837 µs] 130.158 µs (34.3%)
iast_INACTIVE 465.462 µs [443.764 µs, 487.16 µs] 86.329 µs (22.8%)
iast_TELEMETRY_OFF 491.772 µs [469.992 µs, 513.552 µs] 112.639 µs (29.7%)
tracing 466.941 µs [445.78 µs, 488.101 µs] 87.808 µs (23.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mtoff/stable_cfg_2
git_commit_date 1743705303 1743712892
git_commit_sha 8adba3f 23f1013
release_version 1.48.0-SNAPSHOT~8adba3f8b4 1.48.0-SNAPSHOT~23f1013e88
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1743715468 1743715468
ci_job_id 880473416 880473416
ci_pipeline_id 61036396 61036396
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-gtma1pc4-project-304-concurrent-2-qt1z9dhv 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-gtma1pc4-project-304-concurrent-2-qt1z9dhv 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.474 s) : 15474000, 15474000
.   : milestone, 15474000,
appsec (14.951 s) : 14951000, 14951000
.   : milestone, 14951000,
iast (19.054 s) : 19054000, 19054000
.   : milestone, 19054000,
iast_GLOBAL (18.117 s) : 18117000, 18117000
.   : milestone, 18117000,
profiling (15.021 s) : 15021000, 15021000
.   : milestone, 15021000,
tracing (15.021 s) : 15021000, 15021000
.   : milestone, 15021000,
section candidate
no_agent (15.435 s) : 15435000, 15435000
.   : milestone, 15435000,
appsec (15.043 s) : 15043000, 15043000
.   : milestone, 15043000,
iast (18.445 s) : 18445000, 18445000
.   : milestone, 18445000,
iast_GLOBAL (17.95 s) : 17950000, 17950000
.   : milestone, 17950000,
profiling (14.948 s) : 14948000, 14948000
.   : milestone, 14948000,
tracing (15.021 s) : 15021000, 15021000
.   : milestone, 15021000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.474 s [15.474 s, 15.474 s] -
appsec 14.951 s [14.951 s, 14.951 s] -523.0 ms (-3.4%)
iast 19.054 s [19.054 s, 19.054 s] 3.58 s (23.1%)
iast_GLOBAL 18.117 s [18.117 s, 18.117 s] 2.643 s (17.1%)
profiling 15.021 s [15.021 s, 15.021 s] -453.0 ms (-2.9%)
tracing 15.021 s [15.021 s, 15.021 s] -453.0 ms (-2.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.435 s [15.435 s, 15.435 s] -
appsec 15.043 s [15.043 s, 15.043 s] -392.0 ms (-2.5%)
iast 18.445 s [18.445 s, 18.445 s] 3.01 s (19.5%)
iast_GLOBAL 17.95 s [17.95 s, 17.95 s] 2.515 s (16.3%)
profiling 14.948 s [14.948 s, 14.948 s] -487.0 ms (-3.2%)
tracing 15.021 s [15.021 s, 15.021 s] -414.0 ms (-2.7%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~23f1013e88, baseline=1.48.0-SNAPSHOT~8adba3f8b4
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.472 ms) : 1460, 1483
.   : milestone, 1472,
appsec (2.368 ms) : 2321, 2414
.   : milestone, 2368,
iast (2.146 ms) : 2088, 2205
.   : milestone, 2146,
iast_GLOBAL (2.189 ms) : 2130, 2247
.   : milestone, 2189,
profiling (2.029 ms) : 1981, 2078
.   : milestone, 2029,
tracing (1.965 ms) : 1920, 2010
.   : milestone, 1965,
section candidate
no_agent (1.473 ms) : 1461, 1484
.   : milestone, 1473,
appsec (2.362 ms) : 2316, 2408
.   : milestone, 2362,
iast (2.143 ms) : 2085, 2202
.   : milestone, 2143,
iast_GLOBAL (2.184 ms) : 2125, 2243
.   : milestone, 2184,
profiling (1.992 ms) : 1946, 2039
.   : milestone, 1992,
tracing (1.972 ms) : 1927, 2017
.   : milestone, 1972,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.46 ms, 1.483 ms] -
appsec 2.368 ms [2.321 ms, 2.414 ms] 895.931 µs (60.9%)
iast 2.146 ms [2.088 ms, 2.205 ms] 674.367 µs (45.8%)
iast_GLOBAL 2.189 ms [2.13 ms, 2.247 ms] 716.699 µs (48.7%)
profiling 2.029 ms [1.981 ms, 2.078 ms] 557.504 µs (37.9%)
tracing 1.965 ms [1.92 ms, 2.01 ms] 493.2 µs (33.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.484 ms] -
appsec 2.362 ms [2.316 ms, 2.408 ms] 889.163 µs (60.4%)
iast 2.143 ms [2.085 ms, 2.202 ms] 670.408 µs (45.5%)
iast_GLOBAL 2.184 ms [2.125 ms, 2.243 ms] 710.558 µs (48.2%)
profiling 1.992 ms [1.946 ms, 2.039 ms] 519.274 µs (35.3%)
tracing 1.972 ms [1.927 ms, 2.017 ms] 499.509 µs (33.9%)

Comment on lines 9 to 11
public ConfigurationMap() {
return;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Quality Violation

Consider adding super() or this() to your constructor (...read more)

In Java, it is suggested to call super() in an extended class. This rule will report a violation if both a call to super() and an overloaded constructor are absent.

View in Datadog  Leave us feedback  Documentation

// as not to re-run this query
return true;
case "tags":
// TODO: Determine where tags are sourced from
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: We may not fully flesh out tags in time, but this should not be a blocker, so this should return false for now and be marked with a TODO to support it and a link to the spec.

Comment on lines 9 to 11
public ConfigurationMap() {
return;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Quality Violation

Consider adding super() or this() to your constructor (...read more)

In Java, it is suggested to call super() in an extended class. This rule will report a violation if both a call to super() and an overloaded constructor are absent.

View in Datadog  Leave us feedback  Documentation

relocate 'okhttp3', 'datadog.okhttp3'
relocate 'okio', 'datadog.okio'
// Include the YAML config classes in bootstrap
relocate 'datadog.trace.bootstrap.config.provider.StableConfigYaml', 'datadog.trace.bootstrap.config.provider.stableconfigyaml'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heads up @mcculls - I had to add this entry after encountering a NoClassDefException error at runtime for line 34 of StableConfigParser.java (which invokes StableConfigYaml.class). After adding this line, Java is now passing all system tests. I'm not sure if there are any concerns with this approach.

@mtoffl01 mtoffl01 changed the title [WIP] Support targeting services with configurations in stable configuration file Support targeting services with configurations in stable configuration file Mar 19, 2025
@mtoffl01 mtoffl01 changed the base branch from master to mtoff/jvm-args March 21, 2025 15:43
@mtoffl01 mtoffl01 requested review from a team as code owners March 31, 2025 13:55
injectEnvConfig("DD_PROFILING_ENABLED", "true")
injectEnvConfig("DD_SERVICE", "mysvc")
injectEnvConfig("DD_TAGS", "team:apm,component:web")
// injectSysConfig("--DCustomKey", "value")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mcculls ,
I tried to use this method to test against jvm args, but did not work. Do you know of alternatives?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'd need a test that forks a new JVM and is able to add JVM arguments.

You could use IntegrationTestUtils.runOnSeparateJvm to do that, you would need to create a simple Java main class that prints out something to show the JVM arguments have been processed (i.e. the configuration reflects the JVM arguments)

There's an example of this in https://github.com/DataDog/dd-trace-java/blob/master/dd-java-agent/src/test/groovy/datadog/trace/agent/CustomLogManagerTest.groovy

However, it might make more sense to have this covered in a system test...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Working on a system test for this now.

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I'd like to get a second review from @amarziali since I'm co-author here

@mcculls mcculls requested a review from amarziali April 2, 2025 12:14
mtoffl01 and others added 2 commits April 2, 2025 11:46
…ider/stableconfigyaml/ConfigurationMap.java

Co-authored-by: Stuart McCulloch <[email protected]>
…ider/StableConfigSource.java

Co-authored-by: Stuart McCulloch <[email protected]>
@mtoffl01 mtoffl01 force-pushed the mtoff/stable_cfg_2 branch from b7806c6 to dd40811 Compare April 2, 2025 15:51
Copy link
Collaborator

@amarziali amarziali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm cursory review for IDM

@mtoffl01
Copy link
Contributor Author

mtoffl01 commented Apr 3, 2025

(April 3 10:00am): Marking with do not marge while we await the system tests
UPDATE (April 3 2:00pm): Passing process_arguments system test! Good to merge.

See test_process_arguments test here.

@mtoffl01 mtoffl01 added tag: do not merge Do not merge changes and removed tag: do not merge Do not merge changes labels Apr 3, 2025
@mtoffl01 mtoffl01 enabled auto-merge (squash) April 3, 2025 20:15
@mcculls mcculls disabled auto-merge April 4, 2025 10:36
@mcculls mcculls merged commit 2dfc8ee into master Apr 4, 2025
246 of 250 checks passed
@mcculls mcculls deleted the mtoff/stable_cfg_2 branch April 4, 2025 11:02
@github-actions github-actions bot added this to the 1.48.0 milestone Apr 4, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Apr 11, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle
| minor | `11.6.0` -> `11.7.0` |
|
[com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
| [com.squareup.okio:okio](https://github.com/square/okio) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` ->
`2.16.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |

---

### Release Notes

<details>
<summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary>

###
[`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110)

*2025-04-09*

-   Fix: Clear the deflater's byte array reference
-   New: Faster implementation of `String.decodeHex()` on Kotlin/JS.
- New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use
{}` and `FileSystem.read {}`.
-   Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20].

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160)

-   \[Feat]: support `com.android.test` projects.
-   \[Feat]: support typesafe project accessors with opt-in.

```kotlin
dependencyAnalysis {
  useTypesafeProjectAccessors(true) // false by default
}
```

</details>

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.48.1`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.1):
1.48.1

### Components

#### Tracer internal logging

- 🐛 Remove print line causing unnecessary logs
([#&#8203;8687](DataDog/dd-trace-java#8687) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

###
[`v1.48.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.0):
1.48.0

### Known Bugs

> \[!NOTE]
> If you are experiencing issues with spamming timeout logs, please
update to the [latest
version](https://github.com/DataDog/dd-trace-java/releases/latest) or
set
[JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98)
to false.

### Components

#### Application Security Management (IAST)

- ✨ Fix vulnerability location org.jose4j.lang.HashUtil
([#&#8203;8610](DataDog/dd-trace-java#8610) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString
([#&#8203;8609](DataDog/dd-trace-java#8609) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak hash false positive in
oracle.security.o5logon.O5Logon
([#&#8203;8608](DataDog/dd-trace-java#8608) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Prevent before callsites targeting constructors in super calls
([#&#8203;8549](DataDog/dd-trace-java#8549) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### Application Security Management (WAF)

- ✨ Update login events public SDK to V2
([#&#8203;8620](DataDog/dd-trace-java#8620) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Improve detection of missing request end events
([#&#8203;8510](DataDog/dd-trace-java#8510) -
[@&#8203;smola](https://github.com/smola))
- 🧹 Remove remote configuration for API Security sampling rate
([#&#8203;8486](DataDog/dd-trace-java#8486) -
[@&#8203;smola](https://github.com/smola))
- ✨ Add setUser to user monitoring SDK
([#&#8203;8482](DataDog/dd-trace-java#8482) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add missing address for signup event
([#&#8203;8469](DataDog/dd-trace-java#8469) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Allow login events SDK to be used with appsec disabled
([#&#8203;8464](DataDog/dd-trace-java#8464) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ New API Security sampling algorithm
([#&#8203;8178](DataDog/dd-trace-java#8178) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Build & Tooling

- ✨ Add buffer size customizability to JDK UDS support
([#&#8203;8629](DataDog/dd-trace-java#8629) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Add JDK built-in support for UDS on Java 16+
([#&#8203;8314](DataDog/dd-trace-java#8314) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Configuration at Runtime

- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Continuous Integration Visibility

- 🐛 Prevent double reporting of Scalatest events when using SBT with
test forking
([#&#8203;8682](DataDog/dd-trace-java#8682) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Shutdown CI Visibility test event handlers before tracer
([#&#8203;8677](DataDog/dd-trace-java#8677) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners
([#&#8203;8675](DataDog/dd-trace-java#8675),
[#&#8203;8683](DataDog/dd-trace-java#8683) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Remove error log when source path resolution fails on
isModified check
([#&#8203;8663](DataDog/dd-trace-java#8663) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement tests reordering for JUnit 4
([#&#8203;8650](DataDog/dd-trace-java#8650) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Set default Attempt to Fix retries if none provided from the
backend
([#&#8203;8615](DataDog/dd-trace-java#8615) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Allow to manually set PR info
([#&#8203;8566](DataDog/dd-trace-java#8566) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Test Optimization init when repo root cannot be determined
([#&#8203;8533](DataDog/dd-trace-java#8533) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add capabilities tagging
([#&#8203;8499](DataDog/dd-trace-java#8499),
[#&#8203;8540](DataDog/dd-trace-java#8540) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Crash tracking

- 🐛 Remove dependency on bash from crash/oome uploder scripts
([#&#8203;8652](DataDog/dd-trace-java#8652) -
[@&#8203;jbachorik](https://github.com/jbachorik))

#### Data Streams Monitoring

- ✨ e2e pipeline configuration when data jobs is enabled
([#&#8203;8553](DataDog/dd-trace-java#8553) -
[@&#8203;kr-igor](https://github.com/kr-igor))

#### Dynamic Instrumentation

- 🐛 Fix In-Product when config is empty
([#&#8203;8679](DataDog/dd-trace-java#8679) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for filtering shaded third-party libs
([#&#8203;8612](DataDog/dd-trace-java#8612) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add In-Product Enablement
([#&#8203;8587](DataDog/dd-trace-java#8587) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Reduce footprint of SourceFile tracking
([#&#8203;8524](DataDog/dd-trace-java#8524) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Optimize the SourceFile tracking
([#&#8203;8520](DataDog/dd-trace-java#8520) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### OpenTracing

- 🧹 Remove activeScope() use in OpenTracing shim
([#&#8203;8478](DataDog/dd-trace-java#8478) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Profiling

- ✨ Add profiler env check command to AgentCLI
([#&#8203;8671](DataDog/dd-trace-java#8671) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Bump ddprof to 1.23.0
([#&#8203;8668](DataDog/dd-trace-java#8668) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Fix a crash related to ElfParser::loadSymbolTable
([#&#8203;191](DataDog/dd-trace-java#191)) by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by
[@&#8203;MattAlp](https://github.com/MattAlp) in
DataDog/java-profiler#193
- Fix Java 24 support by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of
vmstructs stack unwinder by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#199

- 🐛 Remove process information from JFR recording
([#&#8203;8661](DataDog/dd-trace-java#8661) -
[@&#8203;r1viollet](https://github.com/r1viollet))

- 🐛 Make TempLocationManager USER aware
([#&#8203;8605](DataDog/dd-trace-java#8605) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Telemetry

- 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics
([#&#8203;8624](DataDog/dd-trace-java#8624) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Create metric: appsec.rasp.rule.skipped
([#&#8203;8618](DataDog/dd-trace-java#8618) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Testing

- 🧹 Simplify ssi tests one-pipeline
([#&#8203;8558](DataDog/dd-trace-java#8558) -
[@&#8203;robertomonteromiguel](https://github.com/robertomonteromiguel))
- ✨ Add smoke tests for java's concurrent API
([#&#8203;8438](DataDog/dd-trace-java#8438) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Trace context propagation

- ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT`
([#&#8203;8535](DataDog/dd-trace-java#8535) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer core

- 🐛 Ensure shaded helpers have unique names
([#&#8203;8559](DataDog/dd-trace-java#8559) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support common config sources for user-provided git info
([#&#8203;8547](DataDog/dd-trace-java#8547) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Make the default config sources more robust when a security
manager is installed
([#&#8203;8544](DataDog/dd-trace-java#8544) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support targeting services with configurations in stable
configuration file
([#&#8203;8526](DataDog/dd-trace-java#8526) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE`
([#&#8203;8296](DataDog/dd-trace-java#8296) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer internal logging

- 🐛 Add missing debug log for the cloudPayloadTaggingServices config
([#&#8203;8600](DataDog/dd-trace-java#8600) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add the possibility to output the logs of the Java tracer
in JSON
([#&#8203;8083](DataDog/dd-trace-java#8083) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Tracer public API

- ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config
([#&#8203;8536](DataDog/dd-trace-java#8536) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Config Consistency Round 2
([#&#8203;8489](DataDog/dd-trace-java#8489) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

####

- 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation
([#&#8203;8599](DataDog/dd-trace-java#8599) -
[@&#8203;ygree](https://github.com/ygree))

#### Apache Spark instrumentation

- ✨ Instrument Runtime.exit() to finish spark application spans
([#&#8203;8572](DataDog/dd-trace-java#8572) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))
- ✨ Configure OpenLineage if present in Spark instrumentation
([#&#8203;8541](DataDog/dd-trace-java#8541) -
[@&#8203;mobuchowski](https://github.com/mobuchowski))

#### Armeria Instrumentation

- ✨ Support armeria grpc 1.32.3
([#&#8203;8606](DataDog/dd-trace-java#8606) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

#### AWS DynamoDB Instrumentation

- ✨ Create DynamoDB instrumentation + add span pointers for
`updateItem` and `deleteItem`
([#&#8203;8490](DataDog/dd-trace-java#8490) -
[@&#8203;nhulston](https://github.com/nhulston))

#### AWS SDK instrumentation

- ✨ Add DynamoDB in
DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES
([#&#8203;8595](DataDog/dd-trace-java#8595) -
[@&#8203;joeyzhao2018](https://github.com/joeyzhao2018))

#### Azure Functions instrumentation

- ✨ Enable tracer computed trace metrics by default for Azure
Functions
([#&#8203;8518](DataDog/dd-trace-java#8518) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))
- 💡 Add azure-functions instrumentation
([#&#8203;8432](DataDog/dd-trace-java#8432) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))

#### Core Java language instrumentation

- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+
([#&#8203;8560](DataDog/dd-trace-java#8560) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Eclipse Vert.x instrumentation

- ✨ Add vertx postgresql client instrumentation
([#&#8203;8471](DataDog/dd-trace-java#8471) -
[@&#8203;vandonr](https://github.com/vandonr) - thanks for the
contribution!)

#### Kafka instrumentation

- ✨ Support and test kafka-clients 4
([#&#8203;8581](DataDog/dd-trace-java#8581) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- ✨ Avoid disconnected traces when using Kotlin flowOn
([#&#8203;8651](DataDog/dd-trace-java#8651) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🧹 Migrate OtelContext wrapper to new internal Context API
([#&#8203;8645](DataDog/dd-trace-java#8645) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Spring instrumentation

- 🐛 Support CompletableFuture on spring webmvc controllers
([#&#8203;8659](DataDog/dd-trace-java#8659) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### WebSocket Instrumentation

- ✨ Instrument Jetty websocket pojo
([#&#8203;8562](DataDog/dd-trace-java#8562) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Instrument Java Websocket API (JSR356)
([#&#8203;8440](DataDog/dd-trace-java#8440) -
[@&#8203;amarziali](https://github.com/amarziali))

#### All other instrumentations

- ✨ Introduce cache for peer.hostname lookup
([#&#8203;8601](DataDog/dd-trace-java#8601) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support pekko http 1.1
([#&#8203;8532](DataDog/dd-trace-java#8532) -
[@&#8203;amarziali](https://github.com/amarziali))

</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: 331314f71acaced3adc75ea5d7e855c248d593fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.