Skip to content

Conversation

@PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Sep 18, 2025

What Does This Do

This PR adds methods that may mutate final fields to the list of ForbiddenAPIs. It also identifies current use-cases of these methods and whether or not the usage will need to be changed.

Motivation

Let's "Prepare to Make Final Mean Final". Starting in Java 26, mutating final fields will emit warnings, and in a future release, this behavior will result in exceptions.

Additional Notes

Contributor Checklist

Jira ticket: APMLP-594

@datadog-datadog-prod-us1

This comment has been minimized.

@pr-commenter
Copy link

pr-commenter bot commented Sep 18, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/jep500
git_commit_date 1769530654 1769533425
git_commit_sha 78be799 9de33cc
release_version 1.59.0-SNAPSHOT~78be799166 1.54.0-SNAPSHOT~9de33ccf10
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1769535430 1769535430
ci_job_id 1380767008 1380767008
ci_pipeline_id 93094672 93094672
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-a4amsrtu 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-a4amsrtu 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.058 s) : 0, 1058218
Total [baseline] (8.741 s) : 0, 8740845
Agent [candidate] (1.065 s) : 0, 1065010
Total [candidate] (8.722 s) : 0, 8721508
section iast
Agent [baseline] (1.226 s) : 0, 1226464
Total [baseline] (9.357 s) : 0, 9356778
Agent [candidate] (1.229 s) : 0, 1228518
Total [candidate] (9.376 s) : 0, 9376006
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent iast 1.226 s 168.246 ms (15.9%)
Total tracing 8.741 s -
Total iast 9.357 s 615.933 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.229 s 163.507 ms (15.4%)
Total tracing 8.722 s -
Total iast 9.376 s 654.498 ms (7.5%)
gantt
    title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.18 ms) : 0, 1180
crashtracking [candidate] (1.196 ms) : 0, 1196
BytebuddyAgent [baseline] (623.677 ms) : 0, 623677
BytebuddyAgent [candidate] (628.934 ms) : 0, 628934
AgentMeter [baseline] (28.77 ms) : 0, 28770
AgentMeter [candidate] (29.064 ms) : 0, 29064
GlobalTracer [baseline] (257.597 ms) : 0, 257597
GlobalTracer [candidate] (259.008 ms) : 0, 259008
AppSec [baseline] (33.035 ms) : 0, 33035
AppSec [candidate] (33.261 ms) : 0, 33261
Debugger [baseline] (60.942 ms) : 0, 60942
Debugger [candidate] (62.877 ms) : 0, 62877
Remote Config [baseline] (631.891 µs) : 0, 632
Remote Config [candidate] (617.398 µs) : 0, 617
Telemetry [baseline] (9.927 ms) : 0, 9927
Telemetry [candidate] (9.107 ms) : 0, 9107
Flare Poller [baseline] (6.935 ms) : 0, 6935
Flare Poller [candidate] (5.316 ms) : 0, 5316
section iast
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.175 ms) : 0, 1175
BytebuddyAgent [baseline] (790.787 ms) : 0, 790787
BytebuddyAgent [candidate] (792.634 ms) : 0, 792634
AgentMeter [baseline] (11.142 ms) : 0, 11142
AgentMeter [candidate] (11.174 ms) : 0, 11174
GlobalTracer [baseline] (248.195 ms) : 0, 248195
GlobalTracer [candidate] (248.93 ms) : 0, 248930
IAST [baseline] (27.008 ms) : 0, 27008
IAST [candidate] (26.895 ms) : 0, 26895
AppSec [baseline] (29.733 ms) : 0, 29733
AppSec [candidate] (32.972 ms) : 0, 32972
Debugger [baseline] (70.567 ms) : 0, 70567
Debugger [candidate] (66.759 ms) : 0, 66759
Remote Config [baseline] (535.391 µs) : 0, 535
Remote Config [candidate] (551.871 µs) : 0, 552
Telemetry [baseline] (8.491 ms) : 0, 8491
Telemetry [candidate] (8.534 ms) : 0, 8534
Flare Poller [baseline] (3.417 ms) : 0, 3417
Flare Poller [candidate] (3.469 ms) : 0, 3469
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1066260
Total [baseline] (10.976 s) : 0, 10975722
Agent [candidate] (1.06 s) : 0, 1060341
Total [candidate] (10.91 s) : 0, 10909907
section appsec
Agent [baseline] (1.233 s) : 0, 1233341
Total [baseline] (11.078 s) : 0, 11077962
Agent [candidate] (1.234 s) : 0, 1234468
Total [candidate] (11.129 s) : 0, 11128886
section iast
Agent [baseline] (1.241 s) : 0, 1240999
Total [baseline] (11.252 s) : 0, 11251674
Agent [candidate] (1.229 s) : 0, 1228819
Total [candidate] (11.207 s) : 0, 11207314
section profiling
Agent [baseline] (1.185 s) : 0, 1184657
Total [baseline] (10.91 s) : 0, 10910401
Agent [candidate] (1.186 s) : 0, 1186424
Total [candidate] (10.945 s) : 0, 10944560
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.233 s 167.081 ms (15.7%)
Agent iast 1.241 s 174.739 ms (16.4%)
Agent profiling 1.185 s 118.397 ms (11.1%)
Total tracing 10.976 s -
Total appsec 11.078 s 102.24 ms (0.9%)
Total iast 11.252 s 275.952 ms (2.5%)
Total profiling 10.91 s -65.321 ms (-0.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.234 s 174.128 ms (16.4%)
Agent iast 1.229 s 168.478 ms (15.9%)
Agent profiling 1.186 s 126.083 ms (11.9%)
Total tracing 10.91 s -
Total appsec 11.129 s 218.979 ms (2.0%)
Total iast 11.207 s 297.407 ms (2.7%)
Total profiling 10.945 s 34.653 ms (0.3%)
gantt
    title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.175 ms) : 0, 1175
crashtracking [candidate] (1.181 ms) : 0, 1181
BytebuddyAgent [baseline] (627.688 ms) : 0, 627688
BytebuddyAgent [candidate] (623.369 ms) : 0, 623369
AgentMeter [baseline] (29.059 ms) : 0, 29059
AgentMeter [candidate] (28.774 ms) : 0, 28774
GlobalTracer [baseline] (258.743 ms) : 0, 258743
GlobalTracer [candidate] (257.771 ms) : 0, 257771
AppSec [baseline] (33.083 ms) : 0, 33083
AppSec [candidate] (32.977 ms) : 0, 32977
Debugger [baseline] (62.138 ms) : 0, 62138
Debugger [candidate] (62.021 ms) : 0, 62021
Remote Config [baseline] (621.475 µs) : 0, 621
Remote Config [candidate] (632.259 µs) : 0, 632
Telemetry [baseline] (10.632 ms) : 0, 10632
Telemetry [candidate] (9.907 ms) : 0, 9907
Flare Poller [baseline] (7.613 ms) : 0, 7613
Flare Poller [candidate] (8.3 ms) : 0, 8300
section appsec
crashtracking [baseline] (1.179 ms) : 0, 1179
crashtracking [candidate] (1.195 ms) : 0, 1195
BytebuddyAgent [baseline] (652.348 ms) : 0, 652348
BytebuddyAgent [candidate] (654.935 ms) : 0, 654935
AgentMeter [baseline] (11.827 ms) : 0, 11827
AgentMeter [candidate] (11.835 ms) : 0, 11835
GlobalTracer [baseline] (257.52 ms) : 0, 257520
GlobalTracer [candidate] (257.082 ms) : 0, 257082
IAST [baseline] (25.448 ms) : 0, 25448
IAST [candidate] (25.435 ms) : 0, 25435
AppSec [baseline] (167.257 ms) : 0, 167257
AppSec [candidate] (166.975 ms) : 0, 166975
Debugger [baseline] (68.681 ms) : 0, 68681
Debugger [candidate] (67.974 ms) : 0, 67974
Remote Config [baseline] (685.896 µs) : 0, 686
Remote Config [candidate] (671.047 µs) : 0, 671
Telemetry [baseline] (9.405 ms) : 0, 9405
Telemetry [candidate] (9.295 ms) : 0, 9295
Flare Poller [baseline] (3.707 ms) : 0, 3707
Flare Poller [candidate] (3.636 ms) : 0, 3636
section iast
crashtracking [baseline] (1.186 ms) : 0, 1186
crashtracking [candidate] (1.183 ms) : 0, 1183
BytebuddyAgent [baseline] (800.209 ms) : 0, 800209
BytebuddyAgent [candidate] (792.035 ms) : 0, 792035
AgentMeter [baseline] (11.442 ms) : 0, 11442
AgentMeter [candidate] (11.14 ms) : 0, 11140
GlobalTracer [baseline] (250.551 ms) : 0, 250551
GlobalTracer [candidate] (248.165 ms) : 0, 248165
IAST [baseline] (27.163 ms) : 0, 27163
IAST [candidate] (27.052 ms) : 0, 27052
AppSec [baseline] (35.059 ms) : 0, 35059
AppSec [candidate] (33.047 ms) : 0, 33047
Debugger [baseline] (67.031 ms) : 0, 67031
Debugger [candidate] (68.019 ms) : 0, 68019
Remote Config [baseline] (567.901 µs) : 0, 568
Remote Config [candidate] (575.579 µs) : 0, 576
Telemetry [baseline] (8.596 ms) : 0, 8596
Telemetry [candidate] (8.654 ms) : 0, 8654
Flare Poller [baseline] (3.555 ms) : 0, 3555
Flare Poller [candidate] (3.493 ms) : 0, 3493
section profiling
crashtracking [baseline] (1.213 ms) : 0, 1213
crashtracking [candidate] (1.209 ms) : 0, 1209
BytebuddyAgent [baseline] (676.358 ms) : 0, 676358
BytebuddyAgent [candidate] (677.162 ms) : 0, 677162
AgentMeter [baseline] (8.613 ms) : 0, 8613
AgentMeter [candidate] (8.625 ms) : 0, 8625
GlobalTracer [baseline] (216.421 ms) : 0, 216421
GlobalTracer [candidate] (216.447 ms) : 0, 216447
AppSec [baseline] (32.235 ms) : 0, 32235
AppSec [candidate] (32.152 ms) : 0, 32152
Debugger [baseline] (67.903 ms) : 0, 67903
Debugger [candidate] (67.621 ms) : 0, 67621
Remote Config [baseline] (593.768 µs) : 0, 594
Remote Config [candidate] (595.413 µs) : 0, 595
Telemetry [baseline] (8.748 ms) : 0, 8748
Telemetry [candidate] (8.709 ms) : 0, 8709
Flare Poller [baseline] (3.733 ms) : 0, 3733
Flare Poller [candidate] (3.788 ms) : 0, 3788
ProfilingAgent [baseline] (99.126 ms) : 0, 99126
ProfilingAgent [candidate] (100.261 ms) : 0, 100261
Profiling [baseline] (99.692 ms) : 0, 99692
Profiling [candidate] (100.851 ms) : 0, 100851
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/jep500
git_commit_date 1769530654 1769533425
git_commit_sha 78be799 9de33cc
release_version 1.59.0-SNAPSHOT~78be799166 1.54.0-SNAPSHOT~9de33ccf10
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1769535822 1769535822
ci_job_id 1380767010 1380767010
ci_pipeline_id 93094672 93094672
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-gj17mgpt 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-gj17mgpt 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:profiling:high_load worse
[+36.976µs; +152.192µs] or [+2.291%; +9.431%]
unstable
[-43.240µs; +887.938µs] or [-0.940%; +19.313%]
unstable
[-434.486op/s; +105.048op/s] or [-18.949%; +4.581%]
1.708ms 5.020ms 2128.219op/s 1.614ms 4.598ms 2292.938op/s
scenario:load:insecure-bank:iast:high_load better
[-174.021µs; -52.335µs] or [-6.771%; -2.036%]
unsure
[-537.674µs; -72.860µs] or [-7.212%; -0.977%]
unstable
[-102.539op/s; +210.351op/s] or [-7.345%; +15.067%]
2.457ms 7.150ms 1450.031op/s 2.570ms 7.455ms 1396.125op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.149 ms) : 17963, 18336
.   : milestone, 18149,
appsec (18.668 ms) : 18474, 18863
.   : milestone, 18668,
code_origins (17.627 ms) : 17450, 17804
.   : milestone, 17627,
iast (17.948 ms) : 17773, 18122
.   : milestone, 17948,
profiling (18.492 ms) : 18309, 18674
.   : milestone, 18492,
tracing (18.069 ms) : 17890, 18248
.   : milestone, 18069,
section candidate
no_agent (18.44 ms) : 18250, 18630
.   : milestone, 18440,
appsec (18.925 ms) : 18731, 19120
.   : milestone, 18925,
code_origins (17.709 ms) : 17533, 17885
.   : milestone, 17709,
iast (17.684 ms) : 17507, 17861
.   : milestone, 17684,
profiling (18.412 ms) : 18230, 18595
.   : milestone, 18412,
tracing (17.735 ms) : 17559, 17910
.   : milestone, 17735,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.149 ms [17.963 ms, 18.336 ms] -
appsec 18.668 ms [18.474 ms, 18.863 ms] 518.935 µs (2.9%)
code_origins 17.627 ms [17.45 ms, 17.804 ms] -522.278 µs (-2.9%)
iast 17.948 ms [17.773 ms, 18.122 ms] -201.761 µs (-1.1%)
profiling 18.492 ms [18.309 ms, 18.674 ms] 342.344 µs (1.9%)
tracing 18.069 ms [17.89 ms, 18.248 ms] -80.368 µs (-0.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.44 ms [18.25 ms, 18.63 ms] -
appsec 18.925 ms [18.731 ms, 19.12 ms] 485.219 µs (2.6%)
code_origins 17.709 ms [17.533 ms, 17.885 ms] -731.157 µs (-4.0%)
iast 17.684 ms [17.507 ms, 17.861 ms] -756.343 µs (-4.1%)
profiling 18.412 ms [18.23 ms, 18.595 ms] -27.893 µs (-0.2%)
tracing 17.735 ms [17.559 ms, 17.91 ms] -705.49 µs (-3.8%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.183 ms) : 1171, 1195
.   : milestone, 1183,
iast (3.278 ms) : 3235, 3322
.   : milestone, 3278,
iast_FULL (5.782 ms) : 5724, 5839
.   : milestone, 5782,
iast_GLOBAL (3.569 ms) : 3518, 3621
.   : milestone, 3569,
profiling (1.967 ms) : 1951, 1983
.   : milestone, 1967,
tracing (1.816 ms) : 1801, 1831
.   : milestone, 1816,
section candidate
no_agent (1.197 ms) : 1186, 1209
.   : milestone, 1197,
iast (3.153 ms) : 3116, 3189
.   : milestone, 3153,
iast_FULL (5.724 ms) : 5667, 5780
.   : milestone, 5724,
iast_GLOBAL (3.608 ms) : 3544, 3672
.   : milestone, 3608,
profiling (2.124 ms) : 2105, 2143
.   : milestone, 2124,
tracing (1.877 ms) : 1861, 1893
.   : milestone, 1877,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.183 ms [1.171 ms, 1.195 ms] -
iast 3.278 ms [3.235 ms, 3.322 ms] 2.095 ms (177.1%)
iast_FULL 5.782 ms [5.724 ms, 5.839 ms] 4.599 ms (388.7%)
iast_GLOBAL 3.569 ms [3.518 ms, 3.621 ms] 2.386 ms (201.7%)
profiling 1.967 ms [1.951 ms, 1.983 ms] 783.92 µs (66.3%)
tracing 1.816 ms [1.801 ms, 1.831 ms] 632.902 µs (53.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.197 ms [1.186 ms, 1.209 ms] -
iast 3.153 ms [3.116 ms, 3.189 ms] 1.955 ms (163.3%)
iast_FULL 5.724 ms [5.667 ms, 5.78 ms] 4.526 ms (378.0%)
iast_GLOBAL 3.608 ms [3.544 ms, 3.672 ms] 2.411 ms (201.3%)
profiling 2.124 ms [2.105 ms, 2.143 ms] 926.361 µs (77.4%)
tracing 1.877 ms [1.861 ms, 1.893 ms] 679.285 µs (56.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/jep500
git_commit_date 1769530654 1769533425
git_commit_sha 78be799 9de33cc
release_version 1.59.0-SNAPSHOT~78be799166 1.54.0-SNAPSHOT~9de33ccf10
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1769535571 1769535571
ci_job_id 1380767012 1380767012
ci_pipeline_id 93094672 93094672
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-no6ug4vu 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-no6ug4vu 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (3.749 ms) : 3528, 3970
.   : milestone, 3749,
iast (2.254 ms) : 2185, 2323
.   : milestone, 2254,
iast_GLOBAL (2.299 ms) : 2229, 2368
.   : milestone, 2299,
profiling (2.078 ms) : 2023, 2133
.   : milestone, 2078,
tracing (2.067 ms) : 2014, 2121
.   : milestone, 2067,
section candidate
no_agent (1.468 ms) : 1457, 1479
.   : milestone, 1468,
appsec (3.722 ms) : 3504, 3940
.   : milestone, 3722,
iast (2.255 ms) : 2185, 2324
.   : milestone, 2255,
iast_GLOBAL (2.303 ms) : 2233, 2372
.   : milestone, 2303,
profiling (2.096 ms) : 2039, 2152
.   : milestone, 2096,
tracing (2.078 ms) : 2024, 2132
.   : milestone, 2078,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 3.749 ms [3.528 ms, 3.97 ms] 2.28 ms (155.1%)
iast 2.254 ms [2.185 ms, 2.323 ms] 783.962 µs (53.3%)
iast_GLOBAL 2.299 ms [2.229 ms, 2.368 ms] 828.979 µs (56.4%)
profiling 2.078 ms [2.023 ms, 2.133 ms] 608.159 µs (41.4%)
tracing 2.067 ms [2.014 ms, 2.121 ms] 597.368 µs (40.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.468 ms [1.457 ms, 1.479 ms] -
appsec 3.722 ms [3.504 ms, 3.94 ms] 2.254 ms (153.5%)
iast 2.255 ms [2.185 ms, 2.324 ms] 786.665 µs (53.6%)
iast_GLOBAL 2.303 ms [2.233 ms, 2.372 ms] 834.68 µs (56.9%)
profiling 2.096 ms [2.039 ms, 2.152 ms] 627.708 µs (42.8%)
tracing 2.078 ms [2.024 ms, 2.132 ms] 610.287 µs (41.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~9de33ccf10, baseline=1.59.0-SNAPSHOT~78be799166
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.19 s) : 15190000, 15190000
.   : milestone, 15190000,
appsec (15.006 s) : 15006000, 15006000
.   : milestone, 15006000,
iast (18.17 s) : 18170000, 18170000
.   : milestone, 18170000,
iast_GLOBAL (17.789 s) : 17789000, 17789000
.   : milestone, 17789000,
profiling (14.944 s) : 14944000, 14944000
.   : milestone, 14944000,
tracing (14.659 s) : 14659000, 14659000
.   : milestone, 14659000,
section candidate
no_agent (14.933 s) : 14933000, 14933000
.   : milestone, 14933000,
appsec (14.415 s) : 14415000, 14415000
.   : milestone, 14415000,
iast (18.143 s) : 18143000, 18143000
.   : milestone, 18143000,
iast_GLOBAL (18.101 s) : 18101000, 18101000
.   : milestone, 18101000,
profiling (14.908 s) : 14908000, 14908000
.   : milestone, 14908000,
tracing (14.549 s) : 14549000, 14549000
.   : milestone, 14549000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.19 s [15.19 s, 15.19 s] -
appsec 15.006 s [15.006 s, 15.006 s] -184.0 ms (-1.2%)
iast 18.17 s [18.17 s, 18.17 s] 2.98 s (19.6%)
iast_GLOBAL 17.789 s [17.789 s, 17.789 s] 2.599 s (17.1%)
profiling 14.944 s [14.944 s, 14.944 s] -246.0 ms (-1.6%)
tracing 14.659 s [14.659 s, 14.659 s] -531.0 ms (-3.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.933 s [14.933 s, 14.933 s] -
appsec 14.415 s [14.415 s, 14.415 s] -518.0 ms (-3.5%)
iast 18.143 s [18.143 s, 18.143 s] 3.21 s (21.5%)
iast_GLOBAL 18.101 s [18.101 s, 18.101 s] 3.168 s (21.2%)
profiling 14.908 s [14.908 s, 14.908 s] -25.0 ms (-0.2%)
tracing 14.549 s [14.549 s, 14.549 s] -384.0 ms (-2.6%)

@PerfectSlayer PerfectSlayer added the tag: no release notes Changes to exclude from release notes label Sep 18, 2025
@PerfectSlayer PerfectSlayer marked this pull request as ready for review September 18, 2025 14:57
@PerfectSlayer PerfectSlayer requested review from a team as code owners September 18, 2025 14:57
@nikita-tkachenko-datadog
Copy link
Contributor

Will we be forbidding setAccessible(...) calls as well? (such as the one done in datadog.trace.util.MethodHandles#privateFieldSetter(java.lang.Class<?>, java.lang.String))

@PerfectSlayer
Copy link
Contributor Author

We won't. Quick quote from my doc about the topic:

But the following will still working:

  • java.lang.reflect.AccessibleObject#setAccessible(boolean) will work to change the accessibility flag and Field.get() / unreflect() / unreflectGetter() will still allow access to private fields value and method calls.

@PerfectSlayer PerfectSlayer marked this pull request as draft September 19, 2025 09:37
@PerfectSlayer
Copy link
Contributor Author

Going back to draft to carefully evaluate and document each calls.
I also envisioned some fixes for some of the calls already.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 1, 2026

This pull request has been marked as stale because it has not had activity over the past quarter. It will be closed in 7 days if no further activity occurs. Feel free to reopen the PR if you are still working on it.

@github-actions github-actions bot added the tag: stale Stale pull requests label Jan 1, 2026
@PerfectSlayer
Copy link
Contributor Author

Let see if it makes the Q1 planning

@PerfectSlayer PerfectSlayer removed the tag: stale Stale pull requests label Jan 5, 2026
@pr-commenter
Copy link

pr-commenter bot commented Jan 21, 2026

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1769534117 1769534463
end_time 2026-01-27T17:16:37 2026-01-27T17:22:23
git_branch master bbujon/jep500
git_commit_sha 78be799 9de33cc
start_time 2026-01-27T17:15:18 2026-01-27T17:21:04
See matching parameters
Baseline Candidate
ci_job_id 1380767028 1380767028
ci_pipeline_id 93094672 93094672
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1769533425 1769533425

Summary

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

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
[-38.214µs; +17.467µs] or [-13.417%; +6.133%]
unstable
[-50.690µs; +26.690µs] or [-15.599%; +8.213%]
unstable
[-67.561µs; +34.367µs] or [-19.771%; +10.057%]
unstable
[-48.550µs; +188.079µs] or [-5.217%; +20.209%]
same
scenario:basic same same same unstable
[+35.736µs; +258.697µs] or [+4.678%; +33.861%]
unstable
[-148.189op/s; +148.189op/s] or [-5.483%; +5.483%]
scenario:loop unsure
[+0.610µs; +6.570µs] or [+0.007%; +0.074%]
same same same same
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (324.957 µs) : 279, 371
.   : milestone, 325,
basic (276.952 µs) : 270, 284
.   : milestone, 277,
loop (8.957 ms) : 8952, 8961
.   : milestone, 8957,
section candidate
noprobe (312.957 µs) : 288, 337
.   : milestone, 313,
basic (273.222 µs) : 266, 280
.   : milestone, 273,
loop (8.957 ms) : 8953, 8961
.   : milestone, 8957,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 324.957 µs [278.99 µs, 370.924 µs]
basic 276.952 µs [269.595 µs, 284.309 µs]
loop 8.957 ms [8.952 ms, 8.961 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 312.957 µs [288.424 µs, 337.489 µs]
basic 273.222 µs [266.485 µs, 279.96 µs]
loop 8.957 ms [8.953 ms, 8.961 ms]

@sarahchen6 sarahchen6 marked this pull request as ready for review January 22, 2026 21:26
@sarahchen6 sarahchen6 requested a review from a team as a code owner January 22, 2026 21:26
@sarahchen6 sarahchen6 requested review from tylfin and removed request for a team January 22, 2026 21:26
@tylfin tylfin requested a review from jpbempel January 22, 2026 21:50
@sarahchen6 sarahchen6 requested a review from bric3 January 26, 2026 19:22
return listener;
}

// TODO: JEP 500 - avoid mutating final fields
Copy link
Contributor

Choose a reason for hiding this comment

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

question: Is it possible to log such usage ?

Copy link
Contributor

@sarahchen6 sarahchen6 Jan 27, 2026

Choose a reason for hiding this comment

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

Hm good idea. I've already started trying to get rid of mutations as a whole (#10440), but we could log when final fields are detected in the meantime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tag: no release notes Changes to exclude from release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants