8000 Add In-Product Enablement by jpbempel · Pull Request #8587 · DataDog/dd-trace-java · GitHub
[go: up one dir, main page]

Skip to content

Add In-Product Enablement #8587

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 6 commits into from
Mar 21, 2025
Merged

Add In-Product Enablement #8587

merged 6 commits into from
Mar 21, 2025

Conversation

jpbempel
Copy link
Member
@jpbempel jpbempel commented Mar 19, 2025

What Does This Do

Introduce the ability to start and stop Debugger features:

  • Dynamic Instrumentation
  • Exception Replay
  • Code Origin
  • Distributed Debugger dynamically based on RemoteConfig record: APM_TRACING DebuggerAgent is now run every time at startup to have the base of some feature ready and be able to start the minimum required foe each feature.
    Ability to stop also the feature at any time to uninstall probes.
    Add smoke tests
    Refactor common initialization to be done at least once either by dynamic Instrumentation, Exception Replay or Code Origin

Motivation

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-3455, [DEBUG-3575]

@jpbempel jpbempel requested review from a team as code owners March 19, 2025 13:55
@jpbempel jpbempel requested review from evanchooly and dougqh and removed request for a team March 19, 2025 13:55
@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: enhancement labels Mar 19, 2025
@pr-commenter
Copy link
pr-commenter bot commented Mar 19, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1742546912 1742547281
end_time 2025-03-21T08:49:51 2025-03-21T08:56:00
git_branch master jpbempel/in-product-enablement
git_commit_sha fe9f968 dc9b3ac
start_time 2025-03-21T08:48:33 2025-03-21T08:54:42
See matching parameters
Baseline Candidate
ci_job_id 858367987 858367987
ci_pipeline_id 59554686 59554686
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1742545748 1742545748

Summary

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

scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:loop worse
[+681.930µs; +715.194µs] or [+6.831%; +7.164%]
worse
[+692.154µs; +781.102µs] or [+6.827%; +7.704%]
worse
[+655.130µs; +786.073µs] or [+6.393%; +7.671%]
worse
[+545.175µs; +931.410µs] or [+5.153%; +8.803%]
worse
[-7.468op/s; -4.888op/s] or [-7.693%; -5.035%]
See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-53.568µs; +45.980µs] or [-18.392%; +15.787%]
unstable
[-66.681µs; +58.277µs] or [-20.050%; +17.523%]
unstable
[-79.326µs; +69.275µs] or [-22.770%; +19.885%]
unstable
[-752.572µs; +574.637µs] or [-87.422%; +66.752%]
unstable
[-135.371op/s; +135.371op/s] or [-5.347%; +5.347%]
scenario:basic same same unstable
[-16.634µs; +21.669µs] or [-5.076%; +6.613%]
unstable
[-46.816µs; +71.782µs] or [-8.754%; +13.422%]
unstable
[-231.952op/s; +231.952op/s] or [-9.510%; +9.510%]
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (332.567 µs) : 270, 395
.   : milestone, 333,
basic (316.93 µs) : 302, 331
.   : milestone, 317,
loop (10.139 ms) : 10101, 10178
.   : milestone, 10139,
section candidate
noprobe (328.365 µs) : 272, 385
.   : milestone, 328,
basic (317.817 µs) : 302, 334
.   : milestone, 318,
loop (10.876 ms) : 10832, 10920
.   : milestone, 10876,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 332.567 µs [270.386 µs, 394.748 µs]
basic 316.93 µs [302.374 µs, 331.486 µs]
loop 10.139 ms [10.101 ms, 10.178 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 328.365 µs [271.639 µs, 385.09 µs]
basic 317.817 µs [302.068 µs, 333.567 µs]
loop 10.876 ms [10.832 ms, 10.92 ms]

@pr-commenter
Copy link
pr-commenter bot commented Mar 19, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/in-product-enablement
git_commit_date 1742520091 1742545748
git_commit_sha fe9f968 dc9b3ac
release_version 1.48.0-SNAPSHOT~fe9f968edb 1.48.0-SNAPSHOT~dc9b3ac60f
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1742548768 1742548768
ci_job_id 858367981 858367981
ci_pipeline_id 59554686 59554686
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-yaepk1w-project-304-concurrent-0-p9vmtuez 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-yaepk1w-project-304-concurrent-0-p9vmtuez 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 57 metrics, 6 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.045 s) : 0, 1045251
Total [baseline] (10.462 s) : 0, 10462020
Agent [candidate] (1.047 s) : 0, 1047019
Total [candidate] (10.457 s) : 0, 10457245
section appsec
Agent [baseline] (1.183 s) : 0, 1183383
Total [baseline] (10.724 s) : 0, 10724375
Agent [candidate] (1.19 s) : 0, 1190078
Total [candidate] (10.715 s) : 0, 10
10000
714760
section iast
Agent [baseline] (1.172 s) : 0, 1171869
Total [baseline] (11.092 s) : 0, 11092146
Agent [candidate] (1.175 s) : 0, 1175304
Total [candidate] (11.107 s) : 0, 11107063
section profiling
Agent [baseline] (1.262 s) : 0, 1261954
Total [baseline] (10.825 s) : 0, 10825103
Agent [candidate] (1.271 s) : 0, 1270799
Total [candidate] (10.819 s) : 0, 10818831
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent appsec 1.183 s 138.132 ms (13.2%)
Agent iast 1.172 s 126.617 ms (12.1%)
Agent profiling 1.262 s 216.703 ms (20.7%)
Total tracing 10.462 s -
Total appsec 10.724 s 262.355 ms (2.5%)
Total iast 11.092 s 630.127 ms (6.0%)
Total profiling 10.825 s 363.083 ms (3.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.19 s 143.059 ms (13.7%)
Agent iast 1.175 s 128.285 ms (12.3%)
Agent profiling 1.271 s 223.781 ms (21.4%)
Total tracing 10.457 s -
Total appsec 10.715 s 257.515 ms (2.5%)
Total iast 11.107 s 649.819 ms (6.2%)
Total profiling 10.819 s 361.586 ms (3.5%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.589 ms) : 0, 719589
BytebuddyAgent [candidate] (719.479 ms) : 0, 719479
GlobalTracer [baseline] (241.411 ms) : 0, 241411
GlobalTracer [candidate] (240.258 ms) : 0, 240258
AppSec [baseline] (54.933 ms) : 0, 54933
AppSec [candidate] (54.622 ms) : 0, 54622
Debugger [candidate] (4.419 ms) : 0, 4419
Remote Config [baseline] (697.032 µs) : 0, 697
Remote Config [candidate] (716.323 µs) : 0, 716
Telemetry [baseline] (12.565 ms) : 0, 12565
Telemetry [candidate] (11.45 ms) : 0, 11450
section appsec
BytebuddyAgent [baseline] (734.728 ms) : 0, 734728
BytebuddyAgent [candidate] (737.874 ms) : 0, 737874
GlobalTracer [baseline] (236.369 ms) : 0, 236369
GlobalTracer [candidate] (236.22 ms) : 0, 236220
IAST [baseline] (21.718 ms) : 0, 21718
IAST [candidate] (21.393 ms) : 0, 21393
AppSec [baseline] (176.516 ms) : 0, 176516
AppSec [candidate] (176.087 ms) : 0, 176087
Debugger [candidate] (4.3 ms) : 0, 4300
Remote Config [baseline] (663.273 µs) : 0, 663
Remote Config [candidate] (641.264 µs) : 0, 641
Telemetry [baseline] (8.277 ms) : 0, 8277
Telemetry [candidate] (8.177 ms) : 0, 8177
section iast
BytebuddyAgent [baseline] (837.59 ms) : 0, 837590
BytebuddyAgent [candidate] (836.59 ms) : 0, 836590
GlobalTracer [baseline] (230.255 ms) : 0, 230255
GlobalTracer [candidate] (230.128 ms) : 0, 230128
IAST [baseline] (22.873 ms) : 0, 22873
IAST [candidate] (23.45 ms) : 0, 23450
AppSec [baseline] (55.941 ms) : 0, 55941
AppSec [candidate] (55.632 ms) : 0, 55632
Debugger [candidate] (4.169 ms) : 0, 4169
Remote Config [baseline] (602.008 µs) : 0, 602
Remote Config [candidate] (598.511 µs) : 0, 599
Telemetry [baseline] (8.664 ms) : 0, 8664
Telemetry [candidate] (8.732 ms) : 0, 8732
section profiling
BytebuddyAgent [baseline] (709.179 ms) : 0, 709179
BytebuddyAgent [candidate] (710.477 ms) : 0, 710477
GlobalTracer [baseline] (349.892 ms) : 0, 349892
GlobalTracer [candidate] (351.698 ms) : 0, 351698
AppSec [baseline] (54.56 ms) : 0, 54560
AppSec [candidate] (53.729 ms) : 0, 53729
Debugger [candidate] (4.289 ms) : 0, 4289
Remote Config [baseline] (721.226 µs) : 0, 721
Remote Config [candidate] (708.694 µs) : 0, 709
Telemetry [baseline] (8.937 ms) : 0, 8937
Telemetry [candidate] (9.021 ms) : 0, 9021
ProfilingAgent [baseline] (97.208 ms) : 0, 97208
ProfilingAgent [candidate] (99.32 ms) : 0, 99320
Profiling [baseline] (97.233 ms) : 0, 97233
Profiling [candidate] (99.346 ms) : 0, 99346
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1047199
Total [baseline] (8.698 s) : 0, 8698293
Agent [candidate] (1.047 s) : 0, 1047052
Total [candidate] (8.701 s) : 0, 8701057
section iast
Agent [baseline] (1.183 s) : 0, 1182892
Total [baseline] (9.276 s) : 0, 9275672
Agent [candidate] (1.186 s) : 0, 1185913
Total [candidate] (9.275 s) : 0, 9274855
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1172085
Total [baseline] (9.223 s) : 0, 9223327
Agent [candidate] (1.185 s) : 0, 1184937
Total [candidate] (9.243 s) : 0, 9242613
section iast_TELEMETRY_OFF
Agent [baseline] (1.169 s) : 0, 1169014
Total [baseline] (9.245 s) : 0, 9244679
Agent [candidate] (1.172 s) : 0, 1171766
Total [candidate] (9.241 s) : 0, 9241453
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent iast 1.183 s 135.694 ms (13.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 124.886 ms (11.9%)
Agent iast_TELEMETRY_OFF 1.169 s 121.815 ms (11.6%)
Total tracing 8.698 s -
Total iast 9.276 s 577.379 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.223 s 525.034 ms (6.0%)
Total iast_TELEMETRY_OFF 9.245 s 546.387 ms (6.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent iast 1.186 s 138.861 ms (13.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.185 s 137.885 ms (13.2%)
Agent iast_TELEMETRY_OFF 1.172 s 124.715 ms (11.9%)
Total tracing 8.701 s -
Total iast 9.275 s 573.798 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.243 s 541.556 ms (6.2%)
Total iast_TELEMETRY_OFF 9.241 s 540.396 ms (6.2%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (722.73 ms) : 0, 722730
BytebuddyAgent [candidate] (718.243 ms) : 0, 718243
GlobalTracer [baseline] (240.135 ms) : 0, 240135
GlobalTracer [candidate] (240.088 ms) : 0, 240088
AppSec [baseline] (54.736 ms) : 0, 54736
AppSec [candidate] (54.732 ms) : 0, 54732
Debugger [candidate] (4.389 ms) : 0, 4389
Remote Config [baseline] (696.108 µs) : 0, 696
Remote Config [candidate] (721.752 µs) : 0, 722
Telemetry [baseline] (12.908 ms) : 0, 12908
Telemetry [candidate] (12.864 ms) : 0, 12864
section iast
BytebuddyAgent [baseline] (844.854 ms) : 0, 844854
BytebuddyAgent [candidate] (844.926 ms) : 0, 844926
GlobalTracer [baseline] (232.706 ms) : 0, 232706
GlobalTracer [candidate] (231.699 ms) : 0, 231699
IAST [baseline] (23.222 ms) : 0, 23222
IAST [candidate] (23.975 ms) : 0, 23975
AppSec [baseline] (56.557 ms) : 0, 56557
AppSec [candidate] (55.517 ms) : 0, 55517
Debugger [candidate] (4.237 ms) : 0, 4237
Remote Config [baseline] (636.514 µs) : 0, 637
Remote Config [candidate] (623.218 µs) : 0, 623
Telemetry [baseline] (8.822 ms) : 0, 8822
Telemetry [candidate] (8.867 ms) : 0, 8867
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (837.282 ms) : 0, 837282
BytebuddyAgent [candidate] (843.903 ms) : 0, 843903
GlobalTracer [baseline] (230.327 ms) : 0, 230327
GlobalTracer [candidate] (231.905 ms) : 0, 231905
IAST [baseline] (22.834 ms) : 0, 22834
IAST [candidate] (23.107 ms) : 0, 23107
AppSec [baseline] (56.305 ms) : 0, 56305
AppSec [candidate] (56.186 ms) : 0, 56186
Debugger [candidate] (4.173 ms) : 0, 4173
Remote Config [baseline] (605.554 µs) : 0, 606
Remote Config [candidate] (605.101 µs) : 0, 605
Telemetry [baseline] (8.675 ms) : 0, 8675
Telemetry [candidate] (8.842 ms) : 0, 8842
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (835.249 ms) : 0, 835249
BytebuddyAgent [candidate] (833.365 ms) : 0, 833365
GlobalTracer [baseline] (230.473 ms) : 0, 230473
GlobalTracer [candidate] (230.323 ms) : 0, 230323
IAST [baseline] (23.127 ms) : 0, 23127
IAST [candidate] (22.447 ms) : 0, 22447
AppSec [baseline] (54.974 ms) : 0, 54974
AppSec [candidate] (56.196 ms) : 0, 56196
Debugger [candidate] (4.182 ms) : 0, 4182
Remote Config [baseline] (621.605 µs) : 0, 622
Remote Config [candidate] (605.086 µs) : 0, 605
Telemetry [baseline] (8.595 ms) : 0, 8595
Telemetry [candidate] (8.631 ms) : 0, 8631
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-21T08:49:41 2025-03-21T08:57:26
git_branch master jpbempel/in-product-enablement
git_commit_date 1742520091 1742545748
git_commit_sha fe9f968 dc9b3ac
release_version 1.48.0-SNAPSHOT~fe9f968edb 1.48.0-SNAPSHOT~dc9b3ac60f
start_time 2025-03-21T08:49:27 2025-03-21T08:57:12
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1742547844 1742547844
ci_job_id 858367982 858367982
ci_pipeline_id 59554686 59554686
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-yaepk1w-project-304-concurrent-1-fz14mczk 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-yaepk1w-project-304-concurrent-1-fz14mczk 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~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.351 ms) : 1331, 1370
.   : milestone, 1351,
appsec (1.734 ms) : 1711, 1758
.   : milestone, 1734,
appsec_no_iast (1.727 ms) : 1702, 1752
.   : milestone, 1727,
code_origins (1.676 ms) : 1648, 1704
.   : milestone, 1676,
iast (1.504 ms) : 1479, 1529
.   : milestone, 1504,
profiling (1.54 ms) : 1514, 1566
.   : milestone, 1540,
tracing (1.486 ms) : 1461, 1512
.   : milestone, 1486,
section candidate
no_agent (1.346 ms) : 1326, 1366
.   : milestone, 1346,
appsec (1.745 ms) : 1721, 1769
.   : milestone, 1745,
appsec_no_iast (1.736 ms) : 1711, 1761
.   : milestone, 1736,
code_origins (1.679 ms) : 1652, 1706
.   : milestone, 1679,
iast (1.516 ms) : 1490, 1541
.   : milestone, 1516,
profiling (1.528 ms) : 1505, 1551
.   : milestone, 1528,
tracing (1.499 ms) : 1475, 1523
.   : milestone, 1499,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.351 ms [1.331 ms, 1.37 ms] -
appsec 1.734 ms [1.711 ms, 1.758 ms] 383.622 µs (28.4%)
appsec_no_iast 1.727 ms [1.702 ms, 1.752 ms] 376.214 µs (27.9%)
code_origins 1.676 ms [1.648 ms, 1.704 ms] 325.523 µs (24.1%)
iast 1.504 ms [1.479 ms, 1.529 ms] 153.544 µs (11.4%)
profiling 1.54 ms [1.514 ms, 1.566 ms] 189.407 µs (14.0%)
tracing 1.486 ms [1.461 ms, 1.512 ms] 135.563 µs (10.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.346 ms [1.326 ms, 1.366 ms] -
appsec 1.745 ms [1.721 ms, 1.769 ms] 398.764 µs (29.6%)
appsec_no_iast 1.736 ms [1.711 ms, 1.761 ms] 390.06 µs (29.0%)
code_origins 1.679 ms [1.652 ms, 1.706 ms] 332.624 µs (24.7%)
iast 1.516 ms [1.49 ms, 1.541 ms] 169.289 µs (12.6%)
profiling 1.528 ms [1.505 ms, 1.551 ms] 181.821 µs (13.5%)
tracing 1.499 ms [1.475 ms, 1.523 ms] 152.457 µs (11.3%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb
    dateFormat X
    axisFormat %s
section baseline
no_agent (382.384 µs) : 362, 402
.   : milestone, 382,
iast (514.93 µs) : 493, 537
.   : milestone, 515,
iast_FULL (731.595 µs) : 710, 754
.   : milestone, 732,
iast_GLOBAL (564.623 µs) : 543, 587
.   : milestone, 565,
iast_HARDCODED_SECRET_DISABLED (521.362 µs) : 500, 543
.   : milestone, 521,
iast_INACTIVE (482.318 µs) : 461, 504
.   : milestone, 482,
iast_TELEMETRY_OFF (500.671 µs) : 479, 522
.   : milestone, 501,
tracing (467.523 µs) : 446, 489
.   : milestone, 468,
section candidate
no_agent (385.382 µs) : 366, 405
.   : milestone, 385,
iast (516.116 µs) : 495, 538
.   : milestone, 516,
iast_FULL (730.937 µs) : 709, 753
.   : milestone, 731,
iast_GLOBAL (568.396 µs) : 545, 592
.   : milestone, 568,
iast_HARDCODED_SECRET_DISABLED (512.638 µs) : 491, 534
.   : milestone, 513,
iast_INACTIVE (463.207 µs) : 442, 484
.   : milestone, 463,
iast_TELEMETRY_OFF (503.005 µs) : 481, 525
.   : milestone, 503,
tracing (455.657 µs) : 435, 476
.   : milestone, 456,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.384 µs [362.434 µs, 402.334 µs] -
iast 514.93 µs [492.716 µs, 537.143 µs] 132.546 µs (34.7%)
iast_FULL 731.595 µs [709.563 µs, 753.628 µs] 349.211 µs (91.3%)
iast_GLOBAL 564.623 µs [542.652 µs, 586.593 µs] 182.239 µs (47.7%)
iast_HARDCODED_SECRET_DISABLED 521.362 µs [499.502 µs, 543.222 µs] 138.978 µs (36.3%)
iast_INACTIVE 482.318 µs [460.828 µs, 503.808 µs] 99.934 µs (26.1%)
iast_TELEMETRY_OFF 500.671 µs [479.015 µs, 522.327 µs] 118.287 µs (30.9%)
tracing 467.523 µs [445.832 µs, 489.215 µs] 85.14 µs (22.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 385.382 µs [365.813 µs, 404.95 µs] -
iast 516.116 µs [494.584 µs, 537.647 µs] 130.734 µs (33.9%)
iast_FULL 730.937 µs [709.177 µs, 752.698 µs] 345.556 µs (89.7%)
iast_GLOBAL 568.396 µs [545.17 µs, 591.623 µs] 183.015 µs (47.5%)
iast_HARDCODED_SECRET_DISABLED 512.638 µs [490.931 µs, 534.346 µs] 127.257 µs (33.0%)
iast_INACTIVE 463.207 µs [441.977 µs, 484.437 µs] 77.825 µs (20.2%)
iast_TELEMETRY_OFF 503.005 µs [480.925 µs, 525.086 µs] 117.624 µs (30.5%)
tracing 455.657 µs [434.942 µs, 476.371 µs] 70.275 µs (18.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/in-product-enablement
git_commit_date 1742520091 1742545748
git_commit_sha fe9f968 dc9b3ac
release_version 1.48.0-SNAPSHOT~fe9f968edb 1.48.0-SNAPSHOT~dc9b3ac60f
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1742548314 1742548314
ci_job_id 858367983 858367983
ci_pipeline_id 59554686 59554686
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-yaepk1w-project-304-concurrent-2-itvlgkni 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-yaepk1w-project-304-concurrent-2-itvlgkni 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~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.02 s) : 15020000, 15020000
.   : milestone, 15020000,
appsec (14.857 s) : 14857000, 14857000
.   : milestone, 14857000,
iast (18.895 s) : 18895000, 18895000
.   : milestone, 18895000,
iast_GLOBAL (18.185 s) : 18185000, 18185000
.   : milestone, 18185000,
profiling (15.51 s) : 15510000, 15510000
.   : milestone, 15510000,
tracing (14.903 s) : 14903000, 14903000
.   : milestone, 14903000,
section candidate
no_agent (14.708 s) : 14708000, 14708000
.   : milestone, 14708000,
appsec (14.934 s) : 14934000, 14934000
.   : milestone, 14934000,
iast (18.778 s) : 18778000, 18778000
.   : milestone, 18778000,
iast_GLOBAL (17.939 s) : 17939000, 17939000
.   : milestone, 17939000,
profiling (15.825 s) : 15825000, 15825000
.   : milestone, 15825000,
tracing (14.988 s) : 14988000, 14988000
.   : milestone, 14988000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.02 s [15.02 s, 15.02 s] -
appsec 14.857 s [14.857 s, 14.857 s] -163.0 ms (-1.1%)
iast 18.895 s [18.895 s, 18.895 s] 3.875 s (25.8%)
iast_GLOBAL 18.185 s [18.185 s, 18.185 s] 3.165 s (21.1%)
profiling 15.51 s [15.51 s, 15.51 s] 490.0 ms (3.3%)
tracing 14.903 s [14.903 s, 14.903 s] -117.0 ms (-0.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.708 s [14.708 s, 14.708 s] -
appsec 14.934 s [14.934 s, 14.934 s] 226.0 ms (1.5%)
iast 18.778 s [18.778 s, 18.778 s] 4.07 s (27.7%)
iast_GLOBAL 17.939 s [17.939 s, 17.939 s] 3.231 s (22.0%)
profiling 15.825 s [15.825 s, 15.825 s] 1.117 s (7.6%)
tracing 14.988 s [14.988 s, 14.988 s] 280.0 ms (1.9%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~dc9b3ac60f, baseline=1.48.0-SNAPSHOT~fe9f968edb
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (2.344 ms) : 2300, 2388
.   : milestone, 2344,
iast (2.118 ms) : 2063, 2174
.   : milestone, 2118,
iast_GLOBAL (2.159 ms) : 2103, 2215
.   : milestone, 2159,
profiling (1.98 ms) : 1934, 2026
.   : milestone, 1980,
tracing (1.942 ms) : 1900, 1985
.   : milestone, 1942,
section candidate
no_agent (1.471 ms) : 1459, 1482
.   : milestone, 1471,
appsec (2.338 ms) : 2294, 2382
.   : milestone, 2338,
iast (2.112 ms) : 2057, 2168
.   : milestone, 2112,
iast_GLOBAL (2.159 ms) : 2103, 2215
.   : milestone, 2159,
profiling (1.978 ms) : 1933, 2023
.   : milestone, 1978,
tracing (1.943 ms) : 1900, 1985
.   : milestone, 1943,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.344 ms [2.3 ms, 2.388 ms] 874.641 µs (59.5%)
iast 2.118 ms [2.063 ms, 2.174 ms] 648.784 µs (44.1%)
iast_GLOBAL 2.159 ms [2.103 ms, 2.215 ms] 689.47 µs (46.9%)
profiling 1.98 ms [1.934 ms, 2.026 ms] 510.299 µs (34.7%)
tracing 1.942 ms [1.9 ms, 1.985 ms] 472.597 µs (32.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.459 ms, 1.482 ms] -
appsec 2.338 ms [2.294 ms, 2.382 ms] 867.695 µs (59.0%)
iast 2.112 ms [2.057 ms, 2.168 ms] 641.708 µs (43.6%)
iast_GLOBAL 2.159 ms [2.103 ms, 2.215 ms] 688.503 µs (46.8%)
profiling 1.978 ms [1.933 ms, 2.023 ms] 507.54 µs (34.5%)
tracing 1.943 ms [1.9 ms, 1.985 ms] 471.99 µs (32.1%)

@jpbempel jpbempel force-pushed the jpbempel/in-product-enablement branch from 70815cc to ea096b6 Compare March 19, 2025 16:08
Introduce the ability to start and stop Debugger features:
 - Dynamic Instrumentation
 - Exception Replay
 - Code Origin
 - Distributed Debugger
dynamically based on RemoteConfig record: APM_TRACING
DebuggerAgent is now run every time at startup to have the base of
some feature ready and be able to start the minimum required foe each
feature.
Ability to stop also the feature at any time to uninstall probes.
Add smoke tests
Refactor common initialization to be done at least once either by
dynamic Instrumentation, Exception Replay or Code Origin
@jpbempel jpbempel force-pushed the jpbempel/in-product-enablement branch from 105a239 to dc9b3ac Compare March 21, 2025 08:29
Copy link
Contributor
@evanchooly evanchooly left a comment

Choose a reason for hiding this comment

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

looks good. should clean up some testing stuff, too. just a couple of questions to satisfy my own curiosity but otherwise 👍🏻

}
if (config.isDynamicInstrumentationEnabled()) {
startDynamicInstrumentation();
if (config.isDynamicInstrumentationInstrumentTheWorld()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

this if might better belong in startDynamicInstrumentation(), no?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, I especially put here, because putting in startDynamicInstrumenta 10000 tion it means we can start/stop Instrument-The-World mode also, which is not its purpose. We want to activate at startup

if (!exceptionReplayEnabled.compareAndSet(false, true)) {
return;
}
LOGGER.info("Starting Exception Replay");
Copy link
Contributor

Choose a reason for hiding this comment

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

is exception replay tied to dynamic instrumentation? if so, couldn't we rely on that initialization here, too?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, ER is independent from DI but use the same sinks...

@jpbempel jpbempel merged commit ea93e95 into master Mar 21, 2025
266 of 273 checks passed
@jpbempel jpbempel deleted the jpbempel/in-product-enablement branch March 21, 2025 16:49
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 21, 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/gradl
57AE
e/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 Instrumen
B41A
tation

- 🐛 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
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0