-
Notifications
You must be signed in to change notification settings - Fork 324
Prepare for JEP 500 #9557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prepare for JEP 500 #9557
Conversation
This comment has been minimized.
This comment has been minimized.
d2219bc to
5c24855
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 64 metrics, 7 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1060205
Total [baseline] (10.95 s) : 0, 10950107
Agent [candidate] (1.059 s) : 0, 1058963
Total [candidate] (10.943 s) : 0, 10943157
section appsec
Agent [baseline] (1.247 s) : 0, 1246689
Total [baseline] (11.04 s) : 0, 11039786
Agent [candidate] (1.232 s) : 0, 1231519
Total [candidate] (10.935 s) : 0, 10934611
section iast
Agent [baseline] (1.233 s) : 0, 1233068
Total [baseline] (11.079 s) : 0, 11079426
Agent [candidate] (1.243 s) : 0, 1243338
Total [candidate] (11.196 s) : 0, 11195975
section profiling
Agent [baseline] (1.195 s) : 0, 1195112
Total [baseline] (11.01 s) : 0, 11010248
Agent [candidate] (1.185 s) : 0, 1184904
Total [candidate] (10.904 s) : 0, 10903568
gantt
title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.18 ms) : 0, 1180
BytebuddyAgent [baseline] (625.985 ms) : 0, 625985
BytebuddyAgent [candidate] (623.184 ms) : 0, 623184
AgentMeter [baseline] (28.718 ms) : 0, 28718
AgentMeter [candidate] (28.818 ms) : 0, 28818
GlobalTracer [baseline] (257.272 ms) : 0, 257272
GlobalTracer [candidate] (257.222 ms) : 0, 257222
AppSec [baseline] (33.003 ms) : 0, 33003
AppSec [candidate] (32.883 ms) : 0, 32883
Debugger [baseline] (61.961 ms) : 0, 61961
Debugger [candidate] (61.361 ms) : 0, 61361
Remote Config [baseline] (616.703 µs) : 0, 617
Remote Config [candidate] (634.66 µs) : 0, 635
Telemetry [baseline] (8.994 ms) : 0, 8994
Telemetry [candidate] (9.946 ms) : 0, 9946
Flare Poller [baseline] (6.831 ms) : 0, 6831
Flare Poller [candidate] (8.383 ms) : 0, 8383
section appsec
crashtracking [baseline] (1.197 ms) : 0, 1197
crashtracking [candidate] (1.177 ms) : 0, 1177
BytebuddyAgent [baseline] (660.897 ms) : 0, 660897
BytebuddyAgent [candidate] (652.503 ms) : 0, 652503
AgentMeter [baseline] (12.009 ms) : 0, 12009
AgentMeter [candidate] (11.841 ms) : 0, 11841
GlobalTracer [baseline] (260.241 ms) : 0, 260241
GlobalTracer [candidate] (257.15 ms) : 0, 257150
AppSec [baseline] (168.409 ms) : 0, 168409
AppSec [candidate] (166.862 ms) : 0, 166862
Debugger [baseline] (68.592 ms) : 0, 68592
Debugger [candidate] (67.812 ms) : 0, 67812
Remote Config [baseline] (687.195 µs) : 0, 687
Remote Config [candidate] (658.967 µs) : 0, 659
Telemetry [baseline] (9.518 ms) : 0, 9518
Telemetry [candidate] (9.215 ms) : 0, 9215
Flare Poller [baseline] (3.728 ms) : 0, 3728
Flare Poller [candidate] (3.607 ms) : 0, 3607
IAST [baseline] (25.817 ms) : 0, 25817
IAST [candidate] (25.445 ms) : 0, 25445
section iast
crashtracking [baseline] (1.188 ms) : 0, 1188
crashtracking [candidate] (1.195 ms) : 0, 1195
BytebuddyAgent [baseline] (795.485 ms) : 0, 795485
BytebuddyAgent [candidate] (802.171 ms) : 0, 802171
AgentMeter [baseline] (11.224 ms) : 0, 11224
AgentMeter [candidate] (11.473 ms) : 0, 11473
GlobalTracer [baseline] (248.645 ms) : 0, 248645
GlobalTracer [candidate] (250.661 ms) : 0, 250661
AppSec [baseline] (32.138 ms) : 0, 32138
AppSec [candidate] (33.243 ms) : 0, 33243
Debugger [baseline] (68.951 ms) : 0, 68951
Debugger [candidate] (68.788 ms) : 0, 68788
Remote Config [baseline] (545.622 µs) : 0, 546
Remote Config [candidate] (559.681 µs) : 0, 560
Telemetry [baseline] (8.616 ms) : 0, 8616
Telemetry [candidate] (8.588 ms) : 0, 8588
Flare Poller [baseline] (3.526 ms) : 0, 3526
Flare Poller [candidate] (3.544 ms) : 0, 3544
IAST [baseline] (27.2 ms) : 0, 27200
IAST [candidate] (27.456 ms) : 0, 27456
section profiling
ProfilingAgent [baseline] (99.34 ms) : 0, 99340
ProfilingAgent [candidate] (98.396 ms) : 0, 98396
crashtracking [baseline] (1.228 ms) : 0, 1228
crashtracking [candidate] (1.208 ms) : 0, 1208
BytebuddyAgent [baseline] (683.369 ms) : 0, 683369
BytebuddyAgent [candidate] (676.891 ms) : 0, 676891
AgentMeter [baseline] (8.704 ms) : 0, 8704
AgentMeter [candidate] (8.649 ms) : 0, 8649
GlobalTracer [baseline] (218.154 ms) : 0, 218154
GlobalTracer [candidate] (216.879 ms) : 0, 216879
AppSec [baseline] (32.619 ms) : 0, 32619
AppSec [candidate] (32.323 ms) : 0, 32323
Debugger [baseline] (67.933 ms) : 0, 67933
Debugger [candidate] (67.645 ms) : 0, 67645
Remote Config [baseline] (592.312 µs) : 0, 592
Remote Config [candidate] (583.118 µs) : 0, 583
Telemetry [baseline] (8.835 ms) : 0, 8835
Telemetry [candidate] (8.737 ms) : 0, 8737
Flare Poller [baseline] (3.765 ms) : 0, 3765
Flare Poller [candidate] (3.762 ms) : 0, 3762
Profiling [baseline] (99.949 ms) : 0, 99949
Profiling [candidate] (98.97 ms) : 0, 98970
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056957
Total [baseline] (8.698 s) : 0, 8698332
Agent [candidate] (1.062 s) : 0, 1062158
Total [candidate] (8.742 s) : 0, 8742391
section iast
Agent [baseline] (1.231 s) : 0, 1230729
Total [baseline] (9.388 s) : 0, 9388283
Agent [candidate] (1.226 s) : 0, 1226061
Total [candidate] (9.327 s) : 0, 9326780
gantt
title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.177 ms) : 0, 1177
crashtracking [candidate] (1.174 ms) : 0, 1174
BytebuddyAgent [baseline] (623.038 ms) : 0, 623038
BytebuddyAgent [candidate] (625.853 ms) : 0, 625853
AgentMeter [baseline] (28.781 ms) : 0, 28781
AgentMeter [candidate] (28.921 ms) : 0, 28921
GlobalTracer [baseline] (256.994 ms) : 0, 256994
GlobalTracer [candidate] (258.536 ms) : 0, 258536
AppSec [baseline] (32.754 ms) : 0, 32754
AppSec [candidate] (33.091 ms) : 0, 33091
Debugger [baseline] (62.384 ms) : 0, 62384
Debugger [candidate] (59.992 ms) : 0, 59992
Remote Config [baseline] (623.329 µs) : 0, 623
Remote Config [candidate] (629.148 µs) : 0, 629
Telemetry [baseline] (9.838 ms) : 0, 9838
Telemetry [candidate] (9.879 ms) : 0, 9879
Flare Poller [baseline] (6.055 ms) : 0, 6055
Flare Poller [candidate] (8.577 ms) : 0, 8577
section iast
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.177 ms) : 0, 1177
BytebuddyAgent [baseline] (795.652 ms) : 0, 795652
BytebuddyAgent [candidate] (791.246 ms) : 0, 791246
AgentMeter [baseline] (11.226 ms) : 0, 11226
AgentMeter [candidate] (11.17 ms) : 0, 11170
GlobalTracer [baseline] (248.251 ms) : 0, 248251
GlobalTracer [candidate] (247.989 ms) : 0, 247989
IAST [baseline] (26.664 ms) : 0, 26664
IAST [candidate] (26.992 ms) : 0, 26992
AppSec [baseline] (32.772 ms) : 0, 32772
AppSec [candidate] (34.712 ms) : 0, 34712
Debugger [baseline] (66.748 ms) : 0, 66748
Debugger [candidate] (64.77 ms) : 0, 64770
Remote Config [baseline] (555.72 µs) : 0, 556
Remote Config [candidate] (542.82 µs) : 0, 543
Telemetry [baseline] (8.662 ms) : 0, 8662
Telemetry [candidate] (8.641 ms) : 0, 8641
Flare Poller [baseline] (3.544 ms) : 0, 3544
Flare Poller [candidate] (3.487 ms) : 0, 3487
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 2 performance regressions! Performance is the same for 16 metrics, 17 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section baseline
no_agent (1.26 ms) : 1247, 1273
. : milestone, 1260,
iast (3.3 ms) : 3256, 3343
. : milestone, 3300,
iast_FULL (5.869 ms) : 5810, 5928
. : milestone, 5869,
iast_GLOBAL (3.665 ms) : 3595, 3735
. : milestone, 3665,
profiling (2.168 ms) : 2147, 2190
. : milestone, 2168,
tracing (1.808 ms) : 1793, 1824
. : milestone, 1808,
section candidate
no_agent (1.208 ms) : 1197, 1219
. : milestone, 1208,
iast (3.218 ms) : 3174, 3262
. : milestone, 3218,
iast_FULL (5.865 ms) : 5807, 5923
. : milestone, 5865,
iast_GLOBAL (3.612 ms) : 3562, 3661
. : milestone, 3612,
profiling (1.951 ms) : 1936, 1967
. : milestone, 1951,
tracing (1.845 ms) : 1829, 1861
. : milestone, 1845,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section baseline
no_agent (18.113 ms) : 17930, 18295
. : milestone, 18113,
appsec (18.738 ms) : 18543, 18933
. : milestone, 18738,
code_origins (17.871 ms) : 17693, 18048
. : milestone, 17871,
iast (17.698 ms) : 17518, 17879
. : milestone, 17698,
profiling (18.795 ms) : 18607, 18983
. : milestone, 18795,
tracing (17.571 ms) : 17400, 17742
. : milestone, 17571,
section candidate
no_agent (17.863 ms) : 17682, 18044
. : milestone, 17863,
appsec (18.258 ms) : 18076, 18440
. : milestone, 18258,
code_origins (18.056 ms) : 17875, 18237
. : milestone, 18056,
iast (17.448 ms) : 17274, 17622
. : milestone, 17448,
profiling (18.737 ms) : 18550, 18924
. : milestone, 18737,
tracing (18.955 ms) : 18759, 19151
. : milestone, 18955,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1464, 1487
. : milestone, 1475,
appsec (3.72 ms) : 3498, 3943
. : milestone, 3720,
iast (2.248 ms) : 2180, 2316
. : milestone, 2248,
iast_GLOBAL (2.288 ms) : 2218, 2357
. : milestone, 2288,
profiling (2.096 ms) : 2040, 2152
. : milestone, 2096,
tracing (2.053 ms) : 2000, 2106
. : milestone, 2053,
section candidate
no_agent (1.472 ms) : 1460, 1483
. : milestone, 1472,
appsec (3.748 ms) : 3522, 3974
. : milestone, 3748,
iast (2.24 ms) : 2172, 2308
. : milestone, 2240,
iast_GLOBAL (2.293 ms) : 2225, 2362
. : milestone, 2293,
profiling (2.082 ms) : 2028, 2137
. : milestone, 2082,
tracing (2.073 ms) : 2019, 2126
. : milestone, 2073,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~7fc22603a4, baseline=1.59.0-SNAPSHOT~b89fa0af05
dateFormat X
axisFormat %s
section baseline
no_agent (14.995 s) : 14995000, 14995000
. : milestone, 14995000,
appsec (15.143 s) : 15143000, 15143000
. : milestone, 15143000,
iast (18.311 s) : 18311000, 18311000
. : milestone, 18311000,
iast_GLOBAL (18.155 s) : 18155000, 18155000
. : milestone, 18155000,
profiling (15.118 s) : 15118000, 15118000
. : milestone, 15118000,
tracing (14.681 s) : 14681000, 14681000
. : milestone, 14681000,
section candidate
no_agent (14.682 s) : 14682000, 14682000
. : milestone, 14682000,
appsec (15.042 s) : 15042000, 15042000
. : milestone, 15042000,
iast (18.037 s) : 18037000, 18037000
. : milestone, 18037000,
iast_GLOBAL (17.669 s) : 17669000, 17669000
. : milestone, 17669000,
profiling (14.932 s) : 14932000, 14932000
. : milestone, 14932000,
tracing (14.541 s) : 14541000, 14541000
. : milestone, 14541000,
|
5c24855 to
d906b86
Compare
d906b86 to
5ad4f5e
Compare
|
Will we be forbidding |
|
We won't. Quick quote from my doc about the topic:
|
|
Going back to draft to carefully evaluate and document each calls. |
|
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. |
|
Let see if it makes the Q1 planning |
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (321.85 µs) : 276, 368
. : milestone, 322,
basic (276.502 µs) : 271, 282
. : milestone, 277,
loop (8.96 ms) : 8955, 8964
. : milestone, 8960,
section candidate
noprobe (308.465 µs) : 284, 333
. : milestone, 308,
basic (276.327 µs) : 270, 283
. : milestone, 276,
loop (8.963 ms) : 8959, 8968
. : milestone, 8963,
|
| return listener; | ||
| } | ||
|
|
||
| // TODO: JEP 500 - avoid mutating final fields |
There was a problem hiding this comment.
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 ?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me know if there's a cleaner way to approach the logging 😅 . Otherwise, the next steps after this PR are to rework the three cases of final field mutation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to log such usage ?
I would not add log about it as it should not impact customers.
This PR should only be a first step to mark the usages to get rid of, and warn contributors about the future limitation. The follow PRs of this task is to get rid of all those calls.
If you want logging about it, just use the JVM flag for 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah I meant a log for us during build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There will be from the forbidden api plugin.
You would have to either acknowledge the limitation with a suppress annotation, or to not use the API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know, by default, when the API is supposed to be forbidden the build fails unless the enclosing structure is annotated by @SuppressWarning.
I was looking to see if it's possible to alter the default behavior so we're aware while the transition is made.
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
type:and (comp:orinst:) labels in addition to any usefull labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: APMLP-594