Skip to content

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 dougqh and evanchooly and removed request for a team March 19, 2025 13:55
@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements 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, 10714760 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 startDynamicInstrumentation 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/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

Labels

comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements

2 participants