Skip to content

Conversation

@MattAlp
Copy link

@MattAlp MattAlp commented Mar 28, 2025

What Does This Do

This PR begins the process of deprecating the use of jps via a subprocess, accomplished by exposing the jvmstat code used by jps under the hood using module patching (for JDKs 9+).

Motivation

Customer machines often come without tools like jps available, causing cleanup related-tasks to fail.

Additional Notes

Contributor Checklist

Jira ticket: PROF-11290

@MattAlp MattAlp added type: enhancement Enhancements and improvements comp: core Tracer core comp: profiling Profiling labels Mar 28, 2025
@MattAlp MattAlp requested a review from jbachorik March 28, 2025 18:01
@pr-commenter
Copy link

pr-commenter bot commented Mar 28, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mattalp/patch-jvmstat-access
git_commit_date 1744233055 1744229671
git_commit_sha 33fc3c9 2ead3b7
release_version 1.49.0-SNAPSHOT~33fc3c9a9b 1.49.0-SNAPSHOT~2ead3b7ab6
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1744280446 1744280446
ci_job_id 890373151 890373151
ci_pipeline_id 61654253 61654253
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-lh2rzwsp-project-304-concurrent-4-hlvpp1gj 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-lh2rzwsp-project-304-concurrent-4-hlvpp1gj 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 1 performance improvements and 3 performance regressions! Performance is the same for 60 metrics, 7 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:iast:Debugger worse
[+92.557µs; +295.976µs] or [+2.248%; +7.190%]
4.311ms 4.117ms
scenario:startup:petclinic:iast:Remote Config worse
[+27.490µs; +65.553µs] or [+4.705%; +11.219%]
630.822µs 584.301µs
scenario:startup:petclinic:profiling:Debugger worse
[+108.525µs; +276.861µs] or [+2.557%; +6.522%]
4.437ms 4.245ms
scenario:startup:petclinic:profiling:Remote Config better
[-72.064µs; -20.143µs] or [-10.271%; -2.871%]
655.533µs 701.637µs
Startup time reports for petclinic
gantt title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section tracing Agent [baseline] (1.056 s) : 0, 1056248 Total [baseline] (10.478 s) : 0, 10477964 Agent [candidate] (1.064 s) : 0, 1064174 Total [candidate] (10.469 s) : 0, 10468572 section appsec Agent [baseline] (1.197 s) : 0, 1197008 Total [baseline] (10.763 s) : 0, 10763371 Agent [candidate] (1.199 s) : 0, 1198704 Total [candidate] (10.778 s) : 0, 10778121 section iast Agent [baseline] (1.185 s) : 0, 1184876 Total [baseline] (11.014 s) : 0, 11013844 Agent [candidate] (1.198 s) : 0, 1197502 Total [candidate] (11.052 s) : 0, 11051798 section profiling Agent [baseline] (1.285 s) : 0, 1284926 Total [baseline] (10.873 s) : 0, 10873479 Agent [candidate] (1.294 s) : 0, 1293877 Total [candidate] (10.979 s) : 0, 10979489 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent appsec 1.197 s 140.76 ms (13.3%)
Agent iast 1.185 s 128.628 ms (12.2%)
Agent profiling 1.285 s 228.678 ms (21.7%)
Total tracing 10.478 s -
Total appsec 10.763 s 285.406 ms (2.7%)
Total iast 11.014 s 535.879 ms (5.1%)
Total profiling 10.873 s 395.515 ms (3.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent appsec 1.199 s 134.529 ms (12.6%)
Agent iast 1.198 s 133.328 ms (12.5%)
Agent profiling 1.294 s 229.702 ms (21.6%)
Total tracing 10.469 s -
Total appsec 10.778 s 309.549 ms (3.0%)
Total iast 11.052 s 583.226 ms (5.6%)
Total profiling 10.979 s 510.917 ms (4.9%)
gantt title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (722.303 ms) : 0, 722303 BytebuddyAgent [candidate] (725.904 ms) : 0, 725904 GlobalTracer [baseline] (239.651 ms) : 0, 239651 GlobalTracer [candidate] (240.482 ms) : 0, 240482 AppSec [baseline] (54.245 ms) : 0, 54245 AppSec [candidate] (54.812 ms) : 0, 54812 Debugger [baseline] (4.396 ms) : 0, 4396 Debugger [candidate] (4.408 ms) : 0, 4408 Remote Config [baseline] (707.936 µs) : 0, 708 Remote Config [candidate] (699.575 µs) : 0, 700 Telemetry [baseline] (14.084 ms) : 0, 14084 Telemetry [candidate] (14.353 ms) : 0, 14353 section appsec BytebuddyAgent [baseline] (740.908 ms) : 0, 740908 BytebuddyAgent [candidate] (740.124 ms) : 0, 740124 GlobalTracer [baseline] (235.809 ms) : 0, 235809 GlobalTracer [candidate] (236.32 ms) : 0, 236320 AppSec [baseline] (175.636 ms) : 0, 175636 AppSec [candidate] (174.869 ms) : 0, 174869 Debugger [baseline] (4.272 ms) : 0, 4272 Debugger [candidate] (4.206 ms) : 0, 4206 Remote Config [baseline] (648.324 µs) : 0, 648 Remote Config [candidate] (632.748 µs) : 0, 633 Telemetry [baseline] (8.232 ms) : 0, 8232 Telemetry [candidate] (8.163 ms) : 0, 8163 IAST [baseline] (21.268 ms) : 0, 21268 IAST [candidate] (21.975 ms) : 0, 21975 section iast BytebuddyAgent [baseline] (841.421 ms) : 0, 841421 BytebuddyAgent [candidate] (848.188 ms) : 0, 848188 GlobalTracer [baseline] (229.983 ms) : 0, 229983 GlobalTracer [candidate] (232.105 ms) : 0, 232105 AppSec [baseline] (55.696 ms) : 0, 55696 AppSec [candidate] (56.397 ms) : 0, 56397 Debugger [baseline] (4.117 ms) : 0, 4117 Debugger [candidate] (4.311 ms) : 0, 4311 Remote Config [baseline] (584.301 µs) : 0, 584 Remote Config [candidate] (630.822 µs) : 0, 631 Telemetry [baseline] (8.673 ms) : 0, 8673 Telemetry [candidate] (8.873 ms) : 0, 8873 IAST [baseline] (23.638 ms) : 0, 23638 IAST [candidate] (23.462 ms) : 0, 23462 section profiling ProfilingAgent [baseline] (101.771 ms) : 0, 101771 ProfilingAgent [candidate] (102.751 ms) : 0, 102751 BytebuddyAgent [baseline] (710.226 ms) : 0, 710226 BytebuddyAgent [candidate] (711.63 ms) : 0, 711630 GlobalTracer [baseline] (357.31 ms) : 0, 357310 GlobalTracer [candidate] (361.176 ms) : 0, 361176 AppSec [baseline] (53.954 ms) : 0, 53954 AppSec [candidate] (54.116 ms) : 0, 54116 Debugger [baseline] (4.245 ms) : 0, 4245 Debugger [candidate] (4.437 ms) : 0, 4437 Remote Config [baseline] (701.637 µs) : 0, 702 Remote Config [candidate] (655.533 µs) : 0, 656 Telemetry [baseline] (8.834 ms) : 0, 8834 Telemetry [candidate] (9.078 ms) : 0, 9078 Profiling [baseline] (101.798 ms) : 0, 101798 Profiling [candidate] (102.776 ms) : 0, 102776 
Loading
Startup time reports for insecure-bank
gantt title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section tracing Agent [baseline] (1.057 s) : 0, 1056763 Total [baseline] (8.685 s) : 0, 8685121 Agent [candidate] (1.055 s) : 0, 1055208 Total [candidate] (8.684 s) : 0, 8684108 section iast Agent [baseline] (1.182 s) : 0, 1181796 Total [baseline] (9.204 s) : 0, 9203985 Agent [candidate] (1.181 s) : 0, 1181035 Total [candidate] (9.242 s) : 0, 9242071 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.183 s) : 0, 1183380 Total [baseline] (9.241 s) : 0, 9240999 Agent [candidate] (1.191 s) : 0, 1191154 Total [candidate] (9.215 s) : 0, 9214843 section iast_TELEMETRY_OFF Agent [baseline] (1.181 s) : 0, 1180755 Total [baseline] (9.266 s) : 0, 9265936 Agent [candidate] (1.178 s) : 0, 1178261 Total [candidate] (9.282 s) : 0, 9282399 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent iast 1.182 s 125.033 ms (11.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.183 s 126.617 ms (12.0%)
Agent iast_TELEMETRY_OFF 1.181 s 123.992 ms (11.7%)
Total tracing 8.685 s -
Total iast 9.204 s 518.864 ms (6.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.241 s 555.878 ms (6.4%)
Total iast_TELEMETRY_OFF 9.266 s 580.815 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent iast 1.181 s 125.827 ms (11.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.191 s 135.946 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.178 s 123.053 ms (11.7%)
Total tracing 8.684 s -
Total iast 9.242 s 557.963 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.215 s 530.735 ms (6.1%)
Total iast_TELEMETRY_OFF 9.282 s 598.291 ms (6.9%)
gantt title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (723.024 ms) : 0, 723024 BytebuddyAgent [candidate] (720.294 ms) : 0, 720294 GlobalTracer [baseline] (239.899 ms) : 0, 239899 GlobalTracer [candidate] (238.755 ms) : 0, 238755 AppSec [baseline] (55.18 ms) : 0, 55180 AppSec [candidate] (56.44 ms) : 0, 56440 Debugger [baseline] (4.373 ms) : 0, 4373 Debugger [candidate] (4.317 ms) : 0, 4317 Remote Config [baseline] (693.163 µs) : 0, 693 Remote Config [candidate] (1.368 ms) : 0, 1368 Telemetry [baseline] (12.73 ms) : 0, 12730 Telemetry [candidate] (10.641 ms) : 0, 10641 section iast BytebuddyAgent [baseline] (839.89 ms) : 0, 839890 BytebuddyAgent [candidate] (837.03 ms) : 0, 837030 GlobalTracer [baseline] (229.568 ms) : 0, 229568 GlobalTracer [candidate] (228.642 ms) : 0, 228642 AppSec [baseline] (54.977 ms) : 0, 54977 AppSec [candidate] (52.672 ms) : 0, 52672 Debugger [baseline] (4.086 ms) : 0, 4086 Debugger [candidate] (4.186 ms) : 0, 4186 Remote Config [baseline] (606.495 µs) : 0, 606 Remote Config [candidate] (598.113 µs) : 0, 598 Telemetry [baseline] (8.625 ms) : 0, 8625 Telemetry [candidate] (8.578 ms) : 0, 8578 IAST [baseline] (23.333 ms) : 0, 23333 IAST [candidate] (26.103 ms) : 0, 26103 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (840.672 ms) : 0, 840672 BytebuddyAgent [candidate] (844.36 ms) : 0, 844360 GlobalTracer [baseline] (229.552 ms) : 0, 229552 GlobalTracer [candidate] (230.067 ms) : 0, 230067 AppSec [baseline] (56.165 ms) : 0, 56165 AppSec [candidate] (56.423 ms) : 0, 56423 Debugger [baseline] (4.131 ms) : 0, 4131 Debugger [candidate] (4.267 ms) : 0, 4267 Remote Config [baseline] (597.821 µs) : 0, 598 Remote Config [candidate] (622.633 µs) : 0, 623 Telemetry [baseline] (8.785 ms) : 0, 8785 Telemetry [candidate] (8.767 ms) : 0, 8767 IAST [baseline] (22.745 ms) : 0, 22745 IAST [candidate] (23.154 ms) : 0, 23154 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (839.151 ms) : 0, 839151 BytebuddyAgent [candidate] (834.44 ms) : 0, 834440 GlobalTracer [baseline] (229.411 ms) : 0, 229411 GlobalTracer [candidate] (228.898 ms) : 0, 228898 AppSec [baseline] (56.059 ms) : 0, 56059 AppSec [candidate] (55.786 ms) : 0, 55786 Debugger [baseline] (4.06 ms) : 0, 4060 Debugger [candidate] (4.1 ms) : 0, 4100 Remote Config [baseline] (595.627 µs) : 0, 596 Remote Config [candidate] (615.04 µs) : 0, 615 Telemetry [baseline] (8.522 ms) : 0, 8522 Telemetry [candidate] (8.534 ms) : 0, 8534 IAST [baseline] (22.196 ms) : 0, 22196 IAST [candidate] (22.597 ms) : 0, 22597 
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-10T09:51:01 2025-04-10T09:58:47
git_branch master mattalp/patch-jvmstat-access
git_commit_date 1744233055 1744229671
git_commit_sha 33fc3c9 2ead3b7
release_version 1.49.0-SNAPSHOT~33fc3c9a9b 1.49.0-SNAPSHOT~2ead3b7ab6
start_time 2025-04-10T09:50:47 2025-04-10T09:58:32
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1744279526 1744279526
ci_job_id 890373143 890373143
ci_pipeline_id 61654253 61654253
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-kc2xlj6b-project-304-concurrent-2-vijbxzm1 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-kc2xlj6b-project-304-concurrent-2-vijbxzm1 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 insecure-bank
gantt title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section baseline no_agent (378.949 µs) : 359, 399 . : milestone, 379, iast (517.241 µs) : 495, 539 . : milestone, 517, iast_FULL (736.14 µs) : 714, 758 . : milestone, 736, iast_GLOBAL (569.369 µs) : 546, 593 . : milestone, 569, iast_HARDCODED_SECRET_DISABLED (510.093 µs) : 488, 532 . : milestone, 510, iast_INACTIVE (464.699 µs) : 443, 486 . : milestone, 465, iast_TELEMETRY_OFF (503.811 µs) : 482, 526 . : milestone, 504, tracing (459.775 µs) : 439, 481 . : milestone, 460, section candidate no_agent (387.175 µs) : 366, 408 . : milestone, 387, iast (514.308 µs) : 493, 536 . : milestone, 514, iast_FULL (734.765 µs) : 713, 757 . : milestone, 735, iast_GLOBAL (560.626 µs) : 538, 583 . : milestone, 561, iast_HARDCODED_SECRET_DISABLED (516.887 µs) : 495, 539 . : milestone, 517, iast_INACTIVE (464.725 µs) : 443, 486 . : milestone, 465, iast_TELEMETRY_OFF (507.137 µs) : 484, 530 . : milestone, 507, tracing (459.166 µs) : 438, 480 . : milestone, 459, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 378.949 µs [358.796 µs, 399.103 µs] -
iast 517.241 µs [495.452 µs, 539.03 µs] 138.292 µs (36.5%)
iast_FULL 736.14 µs [714.182 µs, 758.099 µs] 357.191 µs (94.3%)
iast_GLOBAL 569.369 µs [545.959 µs, 592.778 µs] 190.419 µs (50.2%)
iast_HARDCODED_SECRET_DISABLED 510.093 µs [488.498 µs, 531.688 µs] 131.144 µs (34.6%)
iast_INACTIVE 464.699 µs [443.456 µs, 485.942 µs] 85.75 µs (22.6%)
iast_TELEMETRY_OFF 503.811 µs [481.971 µs, 525.652 µs] 124.862 µs (32.9%)
tracing 459.775 µs [438.949 µs, 480.602 µs] 80.826 µs (21.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 387.175 µs [366.354 µs, 407.997 µs] -
iast 514.308 µs [492.572 µs, 536.044 µs] 127.133 µs (32.8%)
iast_FULL 734.765 µs [712.625 µs, 756.905 µs] 347.59 µs (89.8%)
iast_GLOBAL 560.626 µs [538.39 µs, 582.863 µs] 173.451 µs (44.8%)
iast_HARDCODED_SECRET_DISABLED 516.887 µs [495.213 µs, 538.56 µs] 129.712 µs (33.5%)
iast_INACTIVE 464.725 µs [443.483 µs, 485.967 µs] 77.549 µs (20.0%)
iast_TELEMETRY_OFF 507.137 µs [484.443 µs, 529.83 µs] 119.961 µs (31.0%)
tracing 459.166 µs [438.112 µs, 480.219 µs] 71.99 µs (18.6%)
Request duration reports for petclinic
gantt title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section baseline no_agent (1.352 ms) : 1333, 1371 . : milestone, 1352, appsec (1.735 ms) : 1711, 1759 . : milestone, 1735, appsec_no_iast (1.752 ms) : 1728, 1776 . : milestone, 1752, code_origins (1.686 ms) : 1659, 1714 . : milestone, 1686, iast (1.506 ms) : 1481, 1531 . : milestone, 1506, profiling (1.554 ms) : 1529, 1579 . : milestone, 1554, tracing (1.503 ms) : 1478, 1528 . : milestone, 1503, section candidate no_agent (1.346 ms) : 1327, 1365 . : milestone, 1346, appsec (1.745 ms) : 1721, 1769 . : milestone, 1745, appsec_no_iast (1.719 ms) : 1695, 1742 . : milestone, 1719, code_origins (1.694 ms) : 1666, 1722 . : milestone, 1694, iast (1.522 ms) : 1499, 1546 . : milestone, 1522, profiling (1.522 ms) : 1498, 1546 . : milestone, 1522, tracing (1.502 ms) : 1477, 1527 . : milestone, 1502, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.352 ms [1.333 ms, 1.371 ms] -
appsec 1.735 ms [1.711 ms, 1.759 ms] 383.483 µs (28.4%)
appsec_no_iast 1.752 ms [1.728 ms, 1.776 ms] 400.099 µs (29.6%)
code_origins 1.686 ms [1.659 ms, 1.714 ms] 334.631 µs (24.8%)
iast 1.506 ms [1.481 ms, 1.531 ms] 153.941 µs (11.4%)
profiling 1.554 ms [1.529 ms, 1.579 ms] 202.245 µs (15.0%)
tracing 1.503 ms [1.478 ms, 1.528 ms] 151.25 µs (11.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.346 ms [1.327 ms, 1.365 ms] -
appsec 1.745 ms [1.721 ms, 1.769 ms] 398.684 µs (29.6%)
appsec_no_iast 1.719 ms [1.695 ms, 1.742 ms] 372.824 µs (27.7%)
code_origins 1.694 ms [1.666 ms, 1.722 ms] 348.129 µs (25.9%)
iast 1.522 ms [1.499 ms, 1.546 ms] 176.173 µs (13.1%)
profiling 1.522 ms [1.498 ms, 1.546 ms] 175.616 µs (13.0%)
tracing 1.502 ms [1.477 ms, 1.527 ms] 155.799 µs (11.6%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mattalp/patch-jvmstat-access
git_commit_date 1744233055 1744229671
git_commit_sha 33fc3c9 2ead3b7
release_version 1.49.0-SNAPSHOT~33fc3c9a9b 1.49.0-SNAPSHOT~2ead3b7ab6
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1744280027 1744280027
ci_job_id 890371832 890371832
ci_pipeline_id 61654253 61654253
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-lh2rzwsp-project-304-concurrent-3-bzl6d291 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-lh2rzwsp-project-304-concurrent-3-bzl6d291 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.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section baseline no_agent (14.931 s) : 14931000, 14931000 . : milestone, 14931000, appsec (14.846 s) : 14846000, 14846000 . : milestone, 14846000, iast (18.815 s) : 18815000, 18815000 . : milestone, 18815000, iast_GLOBAL (18.219 s) : 18219000, 18219000 . : milestone, 18219000, profiling (15.058 s) : 15058000, 15058000 . : milestone, 15058000, tracing (15.141 s) : 15141000, 15141000 . : milestone, 15141000, section candidate no_agent (15.53 s) : 15530000, 15530000 . : milestone, 15530000, appsec (14.724 s) : 14724000, 14724000 . : milestone, 14724000, iast (19.208 s) : 19208000, 19208000 . : milestone, 19208000, iast_GLOBAL (17.85 s) : 17850000, 17850000 . : milestone, 17850000, profiling (15.064 s) : 15064000, 15064000 . : milestone, 15064000, tracing (15.055 s) : 15055000, 15055000 . : milestone, 15055000, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.931 s [14.931 s, 14.931 s] -
appsec 14.846 s [14.846 s, 14.846 s] -85.0 ms (-0.6%)
iast 18.815 s [18.815 s, 18.815 s] 3.884 s (26.0%)
iast_GLOBAL 18.219 s [18.219 s, 18.219 s] 3.288 s (22.0%)
profiling 15.058 s [15.058 s, 15.058 s] 127.0 ms (0.9%)
tracing 15.141 s [15.141 s, 15.141 s] 210.0 ms (1.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.53 s [15.53 s, 15.53 s] -
appsec 14.724 s [14.724 s, 14.724 s] -806.0 ms (-5.2%)
iast 19.208 s [19.208 s, 19.208 s] 3.678 s (23.7%)
iast_GLOBAL 17.85 s [17.85 s, 17.85 s] 2.32 s (14.9%)
profiling 15.064 s [15.064 s, 15.064 s] -466.0 ms (-3.0%)
tracing 15.055 s [15.055 s, 15.055 s] -475.0 ms (-3.1%)
Execution time for tomcat
gantt title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~2ead3b7ab6, baseline=1.49.0-SNAPSHOT~33fc3c9a9b dateFormat X axisFormat %s section baseline no_agent (1.475 ms) : 1464, 1487 . : milestone, 1475, appsec (2.376 ms) : 2329, 2422 . : milestone, 2376, iast (2.159 ms) : 2100, 2218 . : milestone, 2159, iast_GLOBAL (2.203 ms) : 2144, 2262 . : milestone, 2203, profiling (2.036 ms) : 1988, 2084 . : milestone, 2036, tracing (1.986 ms) : 1941, 2031 . : milestone, 1986, section candidate no_agent (1.478 ms) : 1467, 1490 . : milestone, 1478, appsec (2.388 ms) : 2341, 2435 . : milestone, 2388, iast (2.165 ms) : 2107, 2224 . : milestone, 2165, iast_GLOBAL (2.214 ms) : 2155, 2273 . : milestone, 2214, profiling (2.042 ms) : 1993, 2090 . : milestone, 2042, tracing (1.993 ms) : 1947, 2039 . : milestone, 1993, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 2.376 ms [2.329 ms, 2.422 ms] 900.402 µs (61.0%)
iast 2.159 ms [2.1 ms, 2.218 ms] 683.566 µs (46.3%)
iast_GLOBAL 2.203 ms [2.144 ms, 2.262 ms] 727.657 µs (49.3%)
profiling 2.036 ms [1.988 ms, 2.084 ms] 560.394 µs (38.0%)
tracing 1.986 ms [1.941 ms, 2.031 ms] 510.518 µs (34.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.467 ms, 1.49 ms] -
appsec 2.388 ms [2.341 ms, 2.435 ms] 909.555 µs (61.5%)
iast 2.165 ms [2.107 ms, 2.224 ms] 686.893 µs (46.5%)
iast_GLOBAL 2.214 ms [2.155 ms, 2.273 ms] 735.634 µs (49.8%)
profiling 2.042 ms [1.993 ms, 2.09 ms] 563.163 µs (38.1%)
tracing 1.993 ms [1.947 ms, 2.039 ms] 514.628 µs (34.8%)
@MattAlp MattAlp requested a review from mcculls April 7, 2025 17:11
Copy link
Contributor

@jbachorik jbachorik left a comment

Choose a reason for hiding this comment

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

Looks fine.
I assume the diff will be cleaned up before the merge with the unnecessary changes gone.

@MattAlp MattAlp force-pushed the mattalp/patch-jvmstat-access branch from ae3450f to bfe5a1f Compare April 8, 2025 17:35
@MattAlp MattAlp requested a review from dougqh April 8, 2025 17:40
@MattAlp MattAlp marked this pull request as ready for review April 8, 2025 18:20
@MattAlp MattAlp requested review from a team as code owners April 8, 2025 18:20
@jbachorik jbachorik requested a review from Copilot April 9, 2025 11:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 5 out of 7 changed files in this pull request and generated no comments.

Files not reviewed (2)
  • internal-api/build.gradle: Language not supported
  • internal-api/internal-api-9/build.gradle: Language not supported
Comments suppressed due to low confidence (1)

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java:431

  • The reflection call for 'patchModuleAccess' is missing the required parameter type. Replace getMethod("patchModuleAccess") with getMethod("patchModuleAccess", Instrumentation.class) and invoke it with the 'inst' argument accordingly.
Class.forName("datadog.trace.util.JPMSJPSAccess").getMethod("patchModuleAccess") 
@MattAlp MattAlp force-pushed the mattalp/patch-jvmstat-access branch from cc9487a to 41a63af Compare April 9, 2025 16:15
@MattAlp MattAlp force-pushed the mattalp/patch-jvmstat-access branch from 41a63af to 62e3ee8 Compare April 9, 2025 17:11
@MattAlp MattAlp merged commit fe81e49 into master Apr 10, 2025
252 checks passed
@MattAlp MattAlp deleted the mattalp/patch-jvmstat-access branch April 10, 2025 12:36
@github-actions github-actions bot added this to the 1.49.0 milestone Apr 10, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request May 7, 2025
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `3.22.2` -> `3.22.3` | | [com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.28.0` -> `2.28.1` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.48.2` -> `1.49.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | --- ### Release Notes <details> <summary>googleapis/java-logging (com.google.cloud:google-cloud-logging)</summary> ### [`v3.22.3`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3223-2025-05-06) ##### Bug Fixes - **deps:** Update the Java code generator (gapic-generator-java) to 2.56.3 ([844f4fa](googleapis/java-logging@844f4fa)) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.46.3 ([#&#8203;1801](googleapis/java-logging#1801)) ([d7aa7bc](googleapis/java-logging@d7aa7bc)) - Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0 ([#&#8203;1803](googleapis/java-logging#1803)) ([5967ffe](googleapis/java-logging@5967ffe)) - Update googleapis/sdk-platform-java action to v2.57.0 ([#&#8203;1804](googleapis/java-logging#1804)) ([e9a27ec](googleapis/java-logging@e9a27ec)) </details> <details> <summary>googleapis/java-datastore (com.google.cloud:google-cloud-datastore)</summary> ### [`v2.28.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2281-2025-05-06) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0 ([#&#8203;1841](googleapis/java-datastore#1841)) ([ac393e6](googleapis/java-datastore@ac393e6)) - Update googleapis/sdk-platform-java action to v2.57.0 ([#&#8203;1842](googleapis/java-datastore#1842)) ([0745906](googleapis/java-datastore@0745906)) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.49.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.49.0): 1.49.0 ### Components #### Configuration at Runtime - ✨ Add process tags as list to remote config payload ([#&#8203;8705](DataDog/dd-trace-java#8705) - [@&#8203;amarziali](https://github.com/amarziali)) #### Continuous Integration Visibility - 🐛 Add span propagation for Pekko scheduled tasks ([#&#8203;8765](DataDog/dd-trace-java#8765) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Update test.retry_reason to use full name of the feature ([#&#8203;8689](DataDog/dd-trace-java#8689) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - 🧹 Remove unused TestEventsHandler methods ([#&#8203;8674](DataDog/dd-trace-java#8674) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) #### Dynamic Instrumentation - 🐛 Fix exclude identifiers normalization ([#&#8203;8742](DataDog/dd-trace-java#8742) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Make source file tracking asynchronous ([#&#8203;8684](DataDog/dd-trace-java#8684) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add scope filtering for symbol extraction ([#&#8203;8676](DataDog/dd-trace-java#8676) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add support for [@&#8203;key](https://github.com/key) and [@&#8203;value](https://github.com/value) for Map filtering ([#&#8203;8669](DataDog/dd-trace-java#8669) - [@&#8203;jpbempel](https://github.com/jpbempel)) #### Library Injection - ✨ Add system property to force injection of the tracing library even though multiple javaagents have been detected ([#&#8203;8697](DataDog/dd-trace-java#8697) - [@&#8203;cecile75](https://github.com/cecile75)) #### Metrics - ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT ([#&#8203;8693](DataDog/dd-trace-java#8693) - [@&#8203;randomanderson](https://github.com/randomanderson)) #### Profiling - ✨ Bump ddprof-java to 1.25.1 ([#&#8203;8750](DataDog/dd-trace-java#8750) - [@&#8203;jbachorik](https://github.com/jbachorik)) - 🐛 Remove cleanup-on-shutdown for temporary files ([#&#8203;8746](DataDog/dd-trace-java#8746) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨⚡ Replace a regex-based SMAP parser with a hand-crafted one ([#&#8203;8730](DataDog/dd-trace-java#8730) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Improve error reporting on profiler startup ([#&#8203;8714](DataDog/dd-trace-java#8714) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Exclude ProxyLeakTask exception from exception profiling ([#&#8203;8666](DataDog/dd-trace-java#8666) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Use jvmstat for JDKs 9+ programmatically ([#&#8203;8641](DataDog/dd-trace-java#8641) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Telemetry - ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT ([#&#8203;8693](DataDog/dd-trace-java#8693) - [@&#8203;randomanderson](https://github.com/randomanderson)) - 🐛 Fix appsec.waf.requests telemetry metric ([#&#8203;8644](DataDog/dd-trace-java#8644) - [@&#8203;jandro996](https://github.com/jandro996)) #### Tracer core - ✨ Exclude jackson afterburner dynamic classes from instrumentation ([#&#8203;8747](DataDog/dd-trace-java#8747) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Introduce Java 8 bytecode bridge for instrumentation API ([#&#8203;8736](DataDog/dd-trace-java#8736) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) - ⚡🧹 Use byte-buddy classes optimized for Java8+ ([#&#8203;8735](DataDog/dd-trace-java#8735) - [@&#8203;mcculls](https://github.com/mcculls)) - 🐛 Do not set the hibernate or datanucleus span service name when disabled ([#&#8203;8727](DataDog/dd-trace-java#8727) - [@&#8203;ygree](https://github.com/ygree)) - ✨ Update bytebuddy and ASM to support JDK 24 ([#&#8203;8720](DataDog/dd-trace-java#8720) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) - 🐛 Turn off JDK socket support by default ([#&#8203;8715](DataDog/dd-trace-java#8715) - [@&#8203;mcculls](https://github.com/mcculls)) - 🐛 Log warning when trace buffer overflow occurs ([#&#8203;8712](DataDog/dd-trace-java#8712) - [@&#8203;ygree](https://github.com/ygree)) - ✨🧪 Introducing an internal integration name ([#&#8203;8708](DataDog/dd-trace-java#8708) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Add process tags to client stats payload ([#&#8203;8704](DataDog/dd-trace-java#8704) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Collect process tags for tracing ([#&#8203;8698](DataDog/dd-trace-java#8698) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Stable Config file: target system properties in process_arguments and support template variables in YamlParser ([#&#8203;8690](DataDog/dd-trace-java#8690) - [@&#8203;mtoffl01](https://github.com/mtoffl01)) - ✨⚡ Use prefix trie for proxy ignores ([#&#8203;8678](DataDog/dd-trace-java#8678) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Allow agent to be automatically injected when running aside Log4J patch agent ([#&#8203;8648](DataDog/dd-trace-java#8648) - [@&#8203;paullegranddc](https://github.com/paullegranddc)) - ✨ Use jvmstat for JDKs 9+ programmatically ([#&#8203;8641](DataDog/dd-trace-java#8641) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Tracer internal logging - 🐛 Delete print line ([#&#8203;8686](DataDog/dd-trace-java#8686) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) ### Instrumentations #### Akka instrumentation - 🐛 Handle reentrant scope cleanup in Akka/Pekko actor instrumentations ([#&#8203;8722](DataDog/dd-trace-java#8722) - [@&#8203;mcculls](https://github.com/mcculls)) #### Apache Spark instrumentation - ✨ Use OpenLineage root parent information to generate trace id ([#&#8203;8726](DataDog/dd-trace-java#8726) - [@&#8203;mobuchowski](https://github.com/mobuchowski)) - ✨ Spark job cancellation no longer marks application as failed ([#&#8203;8701](DataDog/dd-trace-java#8701) - [@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd)) #### JDBC instrumentation - 💡 Add support for sybase tds jdbc driver ([#&#8203;8764](DataDog/dd-trace-java#8764) - [@&#8203;amarziali](https://github.com/amarziali)) #### Kotlin instrumentation - 🐛 Take defensive copy of parent scope stack when closing nested coroutines ([#&#8203;8749](DataDog/dd-trace-java#8749) - [@&#8203;mcculls](https://github.com/mcculls)) #### Reactor instrumentation - ✨⚡ Do not inspect reactor context when not needed ([#&#8203;8745](DataDog/dd-trace-java#8745) - [@&#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**: Enabled. ♻ **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: 795f347ae34d056efc1194c2f606cee7bca1beea
ValentinZakharov added a commit that referenced this pull request May 13, 2025
* Implemented WebSocket support for Netty 4.1 * Let propagate unhandled events and fix tests * Refactoring * Refactor netty test and fix instrumentation * Improved pipeline processing - now you can insert handler in any place * Fixed helper * Refactoring * WebSocket Server support for netty-4.0 * Missing handlers use cases for netty-4.1 * Fixed handlers for netty-4.0 * Tests for netty-4.0 * Refactoring * WebSocket Server support for netty-3.8 * Tests for netty-3.8 * Spotless * Fixed tests * Add profiler env check command to AgentCLI (#8671) * Remove dependency on bash from crash/oome uploder scripts (#8652) * Do not apply JUnit 4 instrumentation to MUnit runners (#8675) * Shutdown CI Visibility test event handlers before tracer (#8677) * Prevent double reporting of Scalatest events when using SBT with test forking (#8682) * Fix In-Product when config is empty (#8679) should not stop the product with empty config * Expand MUnit runners filter to catch munit.MUnitRunner in JUnit 4 instrumentation (#8683) * Remove unused TestEventsHandler methods (#8674) * Delete print line (#8686) * Exclude ProxyLeakTask exception from exception profiling (#8666) * Use jvmstat for JDKs 9+ programmatically (#8641) * Update test.retry_reason to use full name of the feature (#8689) * Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT (#8693) * configurable dogstatsd port * wait the client handshake * move netty ws client to interested modules * Added WebSocket tracing check --------- Co-authored-by: Andrea Marziali <andrea.marziali@datadoghq.com> Co-authored-by: Jaroslav Bachorik <jaroslav.bachorik@datadoghq.com> Co-authored-by: Nikita Tkachenko <121111529+nikita-tkachenko-datadog@users.noreply.github.com> Co-authored-by: Jean-Philippe Bempel <jean-philippe.bempel@datadoghq.com> Co-authored-by: Daniel Mohedano <daniel.mohedano@datadoghq.com> Co-authored-by: Sarah Chen <sarah.chen@datadoghq.com> Co-authored-by: Matt <matthew.alp@datadoghq.com> Co-authored-by: Laplie Anderson <randomanderson@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core comp: profiling Profiling type: enhancement Enhancements and improvements

4 participants