Skip to content

Conversation

MattAlp
Copy link
Contributor

@MattAlp MattAlp commented May 13, 2025

What Does This Do

This adds support for obtaining running Java process IDs for the J9 family of JDKs, which use a directory other than Hotspot's hsperfdata_USER.

Motivation

#8792 was designed with Hotspot in mind. A follow-up dive into J9's source confirmed our suspicions that their implementation diverges & requires additional logic.

Additional Notes

Contributor Checklist

Jira ticket: PROF-11787

@MattAlp MattAlp requested a review from jbachorik May 13, 2025 13:46
@MattAlp MattAlp requested a review from a team as a code owner May 13, 2025 13:46
@MattAlp MattAlp requested a review from amarziali May 13, 2025 13:46
@MattAlp MattAlp added type: enhancement Enhancements and improvements comp: core Tracer core comp: profiling Profiling tag: ibm IBM JVM related labels May 13, 2025
@MattAlp
Copy link
Contributor Author

MattAlp commented May 13, 2025

The conflicts on this branch appear due to me forking off of the branch that was used for #8792, which would have had all commits squashed during the merge.

Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Interesting changes.
I think I will move this class to a common component soon (I will evolve the cli one) around the capture / analyze of the system / JVM environment.

@pr-commenter
Copy link

pr-commenter bot commented May 13, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mattalp/support-jps-for-j9
git_commit_date 1747158315 1747159013
git_commit_sha 6459b5e b69c69d
release_version 1.50.0-SNAPSHOT~6459b5ec16 1.50.0-SNAPSHOT~b69c69d836
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1747161442 1747161442
ci_job_id 936467734 936467734
ci_pipeline_id 64980226 64980226
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-jms2qywj-project-304-concurrent-1-9azy8n6s 6.8.0-1028-aws #30~22.04.1-Ubuntu SMP Sun Apr 20 06:03:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-jms2qywj-project-304-concurrent-1-9azy8n6s 6.8.0-1028-aws #30~22.04.1-Ubuntu SMP Sun Apr 20 06:03:30 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 59 metrics, 12 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.02 s) : 0, 1019940
Total [baseline] (10.511 s) : 0, 10511294
Agent [candidate] (1.024 s) : 0, 1023807
Total [candidate] (10.462 s) : 0, 10462028
section appsec
Agent [baseline] (1.167 s) : 0, 1167050
Total [baseline] (10.688 s) : 0, 10687679
Agent [candidate] (1.162 s) : 0, 1161967
Total [candidate] (10.716 s) : 0, 10716460
section iast
Agent [baseline] (1.148 s) : 0, 1147956
Total [baseline] (10.93 s) : 0, 10929985
Agent [candidate] (1.161 s) : 0, 1161078
Total [candidate] (10.865 s) : 0, 10865131
section profiling
Agent [baseline] (1.279 s) : 0, 1278520
Total [baseline] (10.783 s) : 0, 10782700
Agent [candidate] (1.277 s) : 0, 1276729
Total [candidate] (10.782 s) : 0, 10782012
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent appsec 1.167 s 147.11 ms (14.4%)
Agent iast 1.148 s 128.015 ms (12.6%)
Agent profiling 1.279 s 258.579 ms (25.4%)
Total tracing 10.511 s -
Total appsec 10.688 s 176.385 ms (1.7%)
Total iast 10.93 s 418.691 ms (4.0%)
Total profiling 10.783 s 271.406 ms (2.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.024 s -
Agent appsec 1.162 s 138.161 ms (13.5%)
Agent iast 1.161 s 137.272 ms (13.4%)
Agent profiling 1.277 s 252.923 ms (24.7%)
Total tracing 10.462 s -
Total appsec 10.716 s 254.432 ms (2.4%)
Total iast 10.865 s 403.103 ms (3.9%)
Total profiling 10.782 s 319.984 ms (3.1%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.786 ms) : 0, 682786
BytebuddyAgent [candidate] (684.226 ms) : 0, 684226
GlobalTracer [baseline] (239.89 ms) : 0, 239890
GlobalTracer [candidate] (241.379 ms) : 0, 241379
AppSec [baseline] (54.808 ms) : 0, 54808
AppSec [candidate] (54.708 ms) : 0, 54708
Debugger [baseline] (8.348 ms) : 0, 8348
Debugger [candidate] (7.697 ms) : 0, 7697
Remote Config [baseline] (695.158 µs) : 0, 695
Remote Config [candidate] (713.231 µs) : 0, 713
Telemetry [baseline] (9.787 ms) : 0, 9787
Telemetry [candidate] (11.522 ms) : 0, 11522
section appsec
BytebuddyAgent [baseline] (703.756 ms) : 0, 703756
BytebuddyAgent [candidate] (700.645 ms) : 0, 700645
GlobalTracer [baseline] (237.547 ms) : 0, 237547
GlobalTracer [candidate] (236.771 ms) : 0, 236771
IAST [baseline] (21.918 ms) : 0, 21918
IAST [candidate] (21.63 ms) : 0, 21630
AppSec [baseline] (176.977 ms) : 0, 176977
AppSec [candidate] (176.101 ms) : 0, 176101
Debugger [baseline] (6.007 ms) : 0, 6007
Debugger [candidate] (5.968 ms) : 0, 5968
Remote Config [baseline] (628.747 µs) : 0, 629
Remote Config [candidate] (630.507 µs) : 0, 631
Telemetry [baseline] (7.455 ms) : 0, 7455
Telemetry [candidate] (7.444 ms) : 0, 7444
section iast
BytebuddyAgent [baseline] (801.476 ms) : 0, 801476
BytebuddyAgent [candidate] (810.669 ms) : 0, 810669
GlobalTracer [baseline] (230.797 ms) : 0, 230797
GlobalTracer [candidate] (232.357 ms) : 0, 232357
IAST [baseline] (29.648 ms) : 0, 29648
IAST [candidate] (26.223 ms) : 0, 26223
AppSec [baseline] (48.335 ms) : 0, 48335
AppSec [candidate] (52.711 ms) : 0, 52711
Debugger [baseline] (5.879 ms) : 0, 5879
Debugger [candidate] (5.998 ms) : 0, 5998
Remote Config [baseline] (588.469 µs) : 0, 588
Remote Config [candidate] (620.067 µs) : 0, 620
Telemetry [baseline] (7.839 ms) : 0, 7839
Telemetry [candidate] (7.998 ms) : 0, 7998
section profiling
BytebuddyAgent [baseline] (672.859 ms) : 0, 672859
BytebuddyAgent [candidate] (672.279 ms) : 0, 672279
GlobalTracer [baseline] (374.756 ms) : 0, 374756
GlobalTracer [candidate] (374.226 ms) : 0, 374226
AppSec [baseline] (62.01 ms) : 0, 62010
AppSec [candidate] (61.748 ms) : 0, 61748
Debugger [baseline] (6.259 ms) : 0, 6259
Debugger [candidate] (6.28 ms) : 0, 6280
Remote Config [baseline] (650.865 µs) : 0, 651
Remote Config [candidate] (649.801 µs) : 0, 650
Telemetry [baseline] (8.239 ms) : 0, 8239
Telemetry [candidate] (8.186 ms) : 0, 8186
ProfilingAgent [baseline] (103.02 ms) : 0, 103020
ProfilingAgent [candidate] (102.512 ms) : 0, 102512
Profiling [baseline] (103.044 ms) : 0, 103044
Profiling [candidate] (102.536 ms) : 0, 102536
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.022 s) : 0, 1021760
Total [baseline] (8.646 s) : 0, 8646236
Agent [candidate] (1.02 s) : 0, 1020338
Total [candidate] (8.664 s) : 0, 8663780
section iast
Agent [baseline] (1.145 s) : 0, 1145129
Total [baseline] (9.233 s) : 0, 9233049
Agent [candidate] (1.148 s) : 0, 1147591
Total [candidate] (9.239 s) : 0, 9239359
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.148 s) : 0, 1148196
Total [baseline] (9.175 s) : 0, 9174757
Agent [candidate] (1.147 s) : 0, 1146733
Total [candidate] (9.16 s) : 0, 9160251
section iast_TELEMETRY_OFF
Agent [baseline] (1.144 s) : 0, 1144041
Total [baseline] (9.181 s) : 0, 9181024
Agent [candidate] (1.141 s) : 0, 1141197
Total [candidate] (9.197 s) : 0, 9196554
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.022 s -
Agent iast 1.145 s 123.369 ms (12.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.148 s 126.436 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.144 s 122.281 ms (12.0%)
Total tracing 8.646 s -
Total iast 9.233 s 586.813 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.175 s 528.521 ms (6.1%)
Total iast_TELEMETRY_OFF 9.181 s 534.788 ms (6.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent iast 1.148 s 127.252 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.147 s 126.395 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.141 s 120.859 ms (11.8%)
Total tracing 8.664 s -
Total iast 9.239 s 575.579 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.16 s 496.471 ms (5.7%)
Total iast_TELEMETRY_OFF 9.197 s 532.774 ms (6.1%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.294 ms) : 0, 682294
BytebuddyAgent [candidate] (681.798 ms) : 0, 681798
GlobalTracer [baseline] (239.759 ms) : 0, 239759
GlobalTracer [candidate] (240.032 ms) : 0, 240032
AppSec [baseline] (54.546 ms) : 0, 54546
AppSec [candidate] (54.584 ms) : 0, 54584
Debugger [baseline] (11.214 ms) : 0, 11214
Debugger [candidate] (10.495 ms) : 0, 10495
Remote Config [baseline] (694.838 µs) : 0, 695
Remote Config [candidate] (701.39 µs) : 0, 701
Telemetry [baseline] (9.749 ms) : 0, 9749
Telemetry [candidate] (9.11 ms) : 0, 9110
section iast
BytebuddyAgent [baseline] (799.078 ms) : 0, 799078
BytebuddyAgent [candidate] (801.124 ms) : 0, 801124
GlobalTracer [baseline] (229.786 ms) : 0, 229786
GlobalTracer [candidate] (230.258 ms) : 0, 230258
IAST [baseline] (27.333 ms) : 0, 27333
IAST [candidate] (27.974 ms) : 0, 27974
AppSec [baseline] (51.165 ms) : 0, 51165
AppSec [candidate] (50.215 ms) : 0, 50215
Debugger [baseline] (5.851 ms) : 0, 5851
Debugger [candidate] (5.925 ms) : 0, 5925
Remote Config [baseline] (605.335 µs) : 0, 605
Remote Config [candidate] (603.895 µs) : 0, 604
Telemetry [baseline] (7.849 ms) : 0, 7849
Telemetry [candidate] (7.898 ms) : 0, 7898
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (801.436 ms) : 0, 801436
BytebuddyAgent [candidate] (799.671 ms) : 0, 799671
GlobalTracer [baseline] (230.262 ms) : 0, 230262
GlobalTracer [candidate] (230.3 ms) : 0, 230300
IAST [baseline] (29.29 ms) : 0, 29290
IAST [candidate] (27.917 ms) : 0, 27917
AppSec [baseline] (49.305 ms) : 0, 49305
AppSec [candidate] (51.043 ms) : 0, 51043
Debugger [baseline] (5.854 ms) : 0, 5854
Debugger [candidate] (5.888 ms) : 0, 5888
Remote Config [baseline] (580.223 µs) : 0, 580
Remote Config [candidate] (595.114 µs) : 0, 595
Telemetry [baseline] (7.92 ms) : 0, 7920
Telemetry [candidate] (7.853 ms) : 0, 7853
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (797.721 ms) : 0, 797721
BytebuddyAgent [candidate] (795.526 ms) : 0, 795526
GlobalTracer [baseline] (230.221 ms) : 0, 230221
GlobalTracer [candidate] (229.826 ms) : 0, 229826
IAST [baseline] (23.027 ms) : 0, 23027
IAST [candidate] (23.73 ms) : 0, 23730
AppSec [baseline] (55.192 ms) : 0, 55192
AppSec [candidate] (54.313 ms) : 0, 54313
Debugger [baseline] (5.956 ms) : 0, 5956
Debugger [candidate] (5.942 ms) : 0, 5942
Remote Config [baseline] (602.921 µs) : 0, 603
Remote Config [candidate] (583.698 µs) : 0, 584
Telemetry [baseline] (7.779 ms) : 0, 7779
Telemetry [candidate] (7.805 ms) : 0, 7805
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-13T18:07:55 2025-05-13T18:15:39
git_branch master mattalp/support-jps-for-j9
git_commit_date 1747158315 1747159013
git_commit_sha 6459b5e b69c69d
release_version 1.50.0-SNAPSHOT~6459b5ec16 1.50.0-SNAPSHOT~b69c69d836
start_time 2025-05-13T18:07:41 2025-05-13T18:15:25
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1747160537 1747160537
ci_job_id 936467735 936467735
ci_pipeline_id 64980226 64980226
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner--wkrlhht-project-304-concurrent-0-xfk1axf8 6.8.0-1028-aws #30~22.04.1-Ubuntu SMP Sun Apr 20 06:03:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner--wkrlhht-project-304-concurrent-0-xfk1axf8 6.8.0-1028-aws #30~22.04.1-Ubuntu SMP Sun Apr 20 06:03:30 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 12 metrics, 18 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16
    dateFormat X
    axisFormat %s
section baseline
no_agent (378.462 µs) : 358, 399
.   : milestone, 378,
iast (519.951 µs) : 496, 543
.   : milestone, 520,
iast_FULL (730.594 µs) : 709, 752
.   : milestone, 731,
iast_GLOBAL (578.094 µs) : 556, 601
.   : milestone, 578,
iast_HARDCODED_SECRET_DISABLED (515.523 µs) : 493, 538
.   : milestone, 516,
iast_INACTIVE (465.947 µs) : 444, 488
.   : milestone, 466,
iast_TELEMETRY_OFF (506.251 µs) : 483, 529
.   : milestone, 506,
tracing (461.055 µs) : 439, 483
.   : milestone, 461,
section candidate
no_agent (382.16 µs) : 362, 402
.   : milestone, 382,
iast (529.076 µs) : 506, 553
.   : milestone, 529,
iast_FULL (734.374 µs) : 713, 756
.   : milestone, 734,
iast_GLOBAL (556.827 µs) : 535, 579
.   : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (528.063 µs) : 505, 552
.   : milestone, 528,
iast_INACTIVE (466.776 µs) : 445, 489
.   : milestone, 467,
iast_TELEMETRY_OFF (521.013 µs) : 498, 544
.   : milestone, 521,
tracing (462.631 µs) : 440, 485
.   : milestone, 463,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 378.462 µs [358.147 µs, 398.777 µs] -
iast 519.951 µs [496.414 µs, 543.488 µs] 141.489 µs (37.4%)
iast_FULL 730.594 µs [708.741 µs, 752.446 µs] 352.132 µs (93.0%)
iast_GLOBAL 578.094 µs [555.668 µs, 600.519 µs] 199.632 µs (52.7%)
iast_HARDCODED_SECRET_DISABLED 515.523 µs [493.077 µs, 537.969 µs] 137.061 µs (36.2%)
iast_INACTIVE 465.947 µs [443.713 µs, 488.182 µs] 87.485 µs (23.1%)
iast_TELEMETRY_OFF 506.251 µs [483.338 µs, 529.163 µs] 127.789 µs (33.8%)
tracing 461.055 µs [438.857 µs, 483.253 µs] 82.593 µs (21.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.16 µs [362.295 µs, 402.025 µs] -
iast 529.076 µs [505.641 µs, 552.511 µs] 146.916 µs (38.4%)
iast_FULL 734.374 µs [712.66 µs, 756.088 µs] 352.214 µs (92.2%)
iast_GLOBAL 556.827 µs [535.0 µs, 578.654 µs] 174.667 µs (45.7%)
iast_HARDCODED_SECRET_DISABLED 528.063 µs [504.611 µs, 551.516 µs] 145.904 µs (38.2%)
iast_INACTIVE 466.776 µs [444.886 µs, 488.666 µs] 84.616 µs (22.1%)
iast_TELEMETRY_OFF 521.013 µs [497.82 µs, 544.205 µs] 138.853 µs (36.3%)
tracing 462.631 µs [440.262 µs, 485.001 µs] 80.471 µs (21.1%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.352 ms) : 1332, 1372
.   : milestone, 1352,
appsec (1.747 ms) : 1724, 1771
.   : milestone, 1747,
appsec_no_iast (1.75 ms) : 1726, 1773
.   : milestone, 1750,
code_origins (1.68 ms) : 1653, 1707
.   : milestone, 1680,
iast (1.515 ms) : 1490, 1540
.   : milestone, 1515,
profiling (1.507 ms) : 1484, 1530
.   : milestone, 1507,
tracing (1.496 ms) : 1473, 1519
.   : milestone, 1496,
section candidate
no_agent (1.367 ms) : 1347, 1387
.   : milestone, 1367,
appsec (1.722 ms) : 1699, 1745
.   : milestone, 1722,
appsec_no_iast (1.731 ms) : 1708, 1754
.   : milestone, 1731,
code_origins (1.677 ms) : 1651, 1703
.   : milestone, 1677,
iast (1.525 ms) : 1501, 1549
.   : milestone, 1525,
profiling (1.529 ms) : 1505, 1553
.   : milestone, 1529,
tracing (1.512 ms) : 1488, 1536
.   : milestone, 1512,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.352 ms [1.332 ms, 1.372 ms] -
appsec 1.747 ms [1.724 ms, 1.771 ms] 395.384 µs (29.2%)
appsec_no_iast 1.75 ms [1.726 ms, 1.773 ms] 397.707 µs (29.4%)
code_origins 1.68 ms [1.653 ms, 1.707 ms] 328.257 µs (24.3%)
iast 1.515 ms [1.49 ms, 1.54 ms] 163.092 µs (12.1%)
profiling 1.507 ms [1.484 ms, 1.53 ms] 154.961 µs (11.5%)
tracing 1.496 ms [1.473 ms, 1.519 ms] 144.155 µs (10.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.367 ms [1.347 ms, 1.387 ms] -
appsec 1.722 ms [1.699 ms, 1.745 ms] 355.068 µs (26.0%)
appsec_no_iast 1.731 ms [1.708 ms, 1.754 ms] 364.2 µs (26.6%)
code_origins 1.677 ms [1.651 ms, 1.703 ms] 310.213 µs (22.7%)
iast 1.525 ms [1.501 ms, 1.549 ms] 158.435 µs (11.6%)
profiling 1.529 ms [1.505 ms, 1.553 ms] 162.353 µs (11.9%)
tracing 1.512 ms [1.488 ms, 1.536 ms] 145.176 µs (10.6%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mattalp/support-jps-for-j9
git_commit_date 1747158315 1747159013
git_commit_sha 6459b5e b69c69d
release_version 1.50.0-SNAPSHOT~6459b5ec16 1.50.0-SNAPSHOT~b69c69d836
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1747161084 1747161084
ci_job_id 936467736 936467736
ci_pipeline_id 64980226 64980226
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner--wkrlhht-project-304-concurrent-1-8428910y 6.8.0-1028-aws #30~22.04.1-Ubuntu SMP Sun Apr 20 06:03:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner--wkrlhht-project-304-concurrent-1-8428910y 6.8.0-1028-aws #30~22.04.1-Ubuntu SMP Sun Apr 20 06:03:30 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 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.701 s) : 14701000, 14701000
.   : milestone, 14701000,
appsec (14.945 s) : 14945000, 14945000
.   : milestone, 14945000,
iast (19.04 s) : 19040000, 19040000
.   : milestone, 19040000,
iast_GLOBAL (18.182 s) : 18182000, 18182000
.   : milestone, 18182000,
profiling (15.177 s) : 15177000, 15177000
.   : milestone, 15177000,
tracing (15.129 s) : 15129000, 15129000
.   : milestone, 15129000,
section candidate
no_agent (15.43 s) : 15430000, 15430000
.   : milestone, 15430000,
appsec (14.966 s) : 14966000, 14966000
.   : milestone, 14966000,
iast (18.944 s) : 18944000, 18944000
.   : milestone, 18944000,
iast_GLOBAL (18.048 s) : 18048000, 18048000
.   : milestone, 18048000,
profiling (15.11 s) : 15110000, 15110000
.   : milestone, 15110000,
tracing (14.993 s) : 14993000, 14993000
.   : milestone, 14993000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.701 s [14.701 s, 14.701 s] -
appsec 14.945 s [14.945 s, 14.945 s] 244.0 ms (1.7%)
iast 19.04 s [19.04 s, 19.04 s] 4.339 s (29.5%)
iast_GLOBAL 18.182 s [18.182 s, 18.182 s] 3.481 s (23.7%)
profiling 15.177 s [15.177 s, 15.177 s] 476.0 ms (3.2%)
tracing 15.129 s [15.129 s, 15.129 s] 428.0 ms (2.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.43 s [15.43 s, 15.43 s] -
appsec 14.966 s [14.966 s, 14.966 s] -464.0 ms (-3.0%)
iast 18.944 s [18.944 s, 18.944 s] 3.514 s (22.8%)
iast_GLOBAL 18.048 s [18.048 s, 18.048 s] 2.618 s (17.0%)
profiling 15.11 s [15.11 s, 15.11 s] -320.0 ms (-2.1%)
tracing 14.993 s [14.993 s, 14.993 s] -437.0 ms (-2.8%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~b69c69d836, baseline=1.50.0-SNAPSHOT~6459b5ec16
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (2.4 ms) : 2351, 2449
.   : milestone, 2400,
iast (2.176 ms) : 2114, 2238
.   : milestone, 2176,
iast_GLOBAL (2.218 ms) : 2156, 2280
.   : milestone, 2218,
profiling (2.022 ms) : 1972, 2071
.   : milestone, 2022,
tracing (2.006 ms) : 1958, 2054
.   : milestone, 2006,
section candidate
no_agent (1.471 ms) : 1460, 1483
.   : milestone, 1471,
appsec (2.405 ms) : 2356, 2454
.   : milestone, 2405,
iast (2.184 ms) : 2123, 2246
.   : milestone, 2184,
iast_GLOBAL (2.229 ms) : 2167, 2292
.   : milestone, 2229,
profiling (2.5 ms) : 2318, 2683
.   : milestone, 2500,
tracing (2.003 ms) : 1955, 2051
.   : milestone, 2003,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 2.4 ms [2.351 ms, 2.449 ms] 926.055 µs (62.8%)
iast 2.176 ms [2.114 ms, 2.238 ms] 701.738 µs (47.6%)
iast_GLOBAL 2.218 ms [2.156 ms, 2.28 ms] 743.926 µs (50.5%)
profiling 2.022 ms [1.972 ms, 2.071 ms] 547.486 µs (37.1%)
tracing 2.006 ms [1.958 ms, 2.054 ms] 531.527 µs (36.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.46 ms, 1.483 ms] -
appsec 2.405 ms [2.356 ms, 2.454 ms] 934.116 µs (63.5%)
iast 2.184 ms [2.123 ms, 2.246 ms] 713.067 µs (48.5%)
iast_GLOBAL 2.229 ms [2.167 ms, 2.292 ms] 758.319 µs (51.5%)
profiling 2.5 ms [2.318 ms, 2.683 ms] 1.029 ms (70.0%)
tracing 2.003 ms [1.955 ms, 2.051 ms] 531.734 µs (36.1%)

@MattAlp MattAlp requested a review from jbachorik May 13, 2025 15:44
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.

Approved, assuming the Integer.parseInt is gone.

@MattAlp MattAlp merged commit 0903cf4 into master May 13, 2025
590 of 591 checks passed
@MattAlp MattAlp deleted the mattalp/support-jps-for-j9 branch May 13, 2025 22:30
@github-actions github-actions bot added this to the 1.50.0 milestone May 13, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.49.0` -> `1.50.0` |

---

### Release Notes

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

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

### Deprecation Notice

> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.

### Components

#### Application Security Management (WAF)

- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Build & Tooling

- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Continuous Integration Visibility

- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Data Streams Monitoring

- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Dynamic Instrumentation

- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))

#### GraalVM native-image

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))

#### JMX fetch

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))

#### Library Injection

- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))

#### OpenTracing

- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Profiling

- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Telemetry

- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Trace context propagation

- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer core

- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer internal logging

- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Tracer public API

- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

#### AWS Lambda instrumentation

- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))

#### Core Java language instrumentation

- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Eclipse Vert.x instrumentation

- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))

#### IBM Liberty

- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))

#### JDBC instrumentation

- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))

#### JMS instrumentation

- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Kotlin instrumentation

- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Play Framework instrumentation

- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))

#### Quarkus Instrumentation

- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))

#### ServiceTalk

- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))

#### Spring instrumentation

- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### WebSocket Instrumentation

- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Zio Instrumentation

- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))

</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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- 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: 9207366cdb6a1bd098082305d354a0a3c4622d7a
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 tag: ibm IBM JVM related type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants