-
Notifications
You must be signed in to change notification settings - Fork 293
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
Move jpms clearance advice to bootstrap #8204
base: master
Are you sure you want to change the base?
Conversation
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 4 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056612
Total [baseline] (8.652 s) : 0, 8651773
Agent [candidate] (1.053 s) : 0, 1052815
Total [candidate] (8.586 s) : 0, 8585634
section iast
Agent [baseline] (1.189 s) : 0, 1188597
Total [baseline] (9.216 s) : 0, 9216457
Agent [candidate] (1.184 s) : 0, 1183961
Total [candidate] (9.194 s) : 0, 9194008
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.18 s) : 0, 1179991
Total [baseline] (9.163 s) : 0, 9162664
Agent [candidate] (1.18 s) : 0, 1180365
Total [candidate] (9.136 s) : 0, 9136273
section iast_TELEMETRY_OFF
Agent [baseline] (1.183 s) : 0, 1182941
Total [baseline] (9.182 s) : 0, 9181872
Agent [candidate] (1.175 s) : 0, 1174898
Total [candidate] (9.143 s) : 0, 9142996
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.687 ms) : 0, 714687
BytebuddyAgent [candidate] (711.544 ms) : 0, 711544
GlobalTracer [baseline] (256.272 ms) : 0, 256272
GlobalTracer [candidate] (255.595 ms) : 0, 255595
AppSec [baseline] (55.421 ms) : 0, 55421
AppSec [candidate] (55.635 ms) : 0, 55635
Remote Config [baseline] (725.487 µs) : 0, 725
Remote Config [candidate] (717.301 µs) : 0, 717
Telemetry [baseline] (14.551 ms) : 0, 14551
Telemetry [candidate] (14.322 ms) : 0, 14322
section iast
BytebuddyAgent [baseline] (836.78 ms) : 0, 836780
BytebuddyAgent [candidate] (833.339 ms) : 0, 833339
GlobalTracer [baseline] (247.92 ms) : 0, 247920
GlobalTracer [candidate] (247.0 ms) : 0, 247000
AppSec [baseline] (58.051 ms) : 0, 58051
AppSec [candidate] (57.572 ms) : 0, 57572
IAST [baseline] (21.377 ms) : 0, 21377
IAST [candidate] (21.569 ms) : 0, 21569
Remote Config [baseline] (669.683 µs) : 0, 670
Remote Config [candidate] (661.65 µs) : 0, 662
Telemetry [baseline] (8.781 ms) : 0, 8781
Telemetry [candidate] (8.762 ms) : 0, 8762
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (829.441 ms) : 0, 829441
BytebuddyAgent [candidate] (830.115 ms) : 0, 830115
GlobalTracer [baseline] (246.074 ms) : 0, 246074
GlobalTracer [candidate] (246.166 ms) : 0, 246166
AppSec [baseline] (58.474 ms) : 0, 58474
AppSec [candidate] (58.21 ms) : 0, 58210
IAST [baseline] (21.521 ms) : 0, 21521
IAST [candidate] (21.454 ms) : 0, 21454
Remote Config [baseline] (684.097 µs) : 0, 684
Remote Config [candidate] (677.136 µs) : 0, 677
Telemetry [baseline] (8.845 ms) : 0, 8845
Telemetry [candidate] (8.802 ms) : 0, 8802
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.425 ms) : 0, 832425
BytebuddyAgent [candidate] (826.387 ms) : 0, 826387
GlobalTracer [baseline] (247.082 ms) : 0, 247082
GlobalTracer [candidate] (245.805 ms) : 0, 245805
AppSec [baseline] (58.05 ms) : 0, 58050
AppSec [candidate] (57.619 ms) : 0, 57619
IAST [baseline] (20.947 ms) : 0, 20947
IAST [candidate] (20.794 ms) : 0, 20794
Remote Config [baseline] (669.969 µs) : 0, 670
Remote Config [candidate] (660.84 µs) : 0, 661
Telemetry [baseline] (8.66 ms) : 0, 8660
Telemetry [candidate] (8.617 ms) : 0, 8617
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1059375
Total [baseline] (10.464 s) : 0, 10464244
Agent [candidate] (1.056 s) : 0, 1056022
Total [candidate] (10.41 s) : 0, 10409844
section appsec
Agent [baseline] (1.195 s) : 0, 1195245
Total [baseline] (10.722 s) : 0, 10722121
Agent [candidate] (1.186 s) : 0, 1186250
Total [candidate] (10.693 s) : 0, 10692525
section iast
Agent [baseline] (1.178 s) : 0, 1178093
Total [baseline] (10.918 s) : 0, 10918469
Agent [candidate] (1.192 s) : 0, 1191920
Total [candidate] (10.994 s) : 0, 10994332
section profiling
Agent [baseline] (1.261 s) : 0, 1261462
Total [baseline] (10.802 s) : 0, 10802426
Agent [candidate] (1.272 s) : 0, 1271579
Total [candidate] (10.833 s) : 0, 10833096
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (718.053 ms) : 0, 718053
BytebuddyAgent [candidate] (714.272 ms) : 0, 714272
GlobalTracer [baseline] (256.725 ms) : 0, 256725
GlobalTracer [candidate] (255.171 ms) : 0, 255171
AppSec [baseline] (55.51 ms) : 0, 55510
AppSec [candidate] (56.56 ms) : 0, 56560
Remote Config [baseline] (736.472 µs) : 0, 736
Remote Config [candidate] (725.337 µs) : 0, 725
Telemetry [baseline] (13.303 ms) : 0, 13303
Telemetry [candidate] (14.326 ms) : 0, 14326
section appsec
BytebuddyAgent [baseline] (735.718 ms) : 0, 735718
BytebuddyAgent [candidate] (729.576 ms) : 0, 729576
GlobalTracer [baseline] (254.171 ms) : 0, 254171
GlobalTracer [candidate] (252.096 ms) : 0, 252096
AppSec [baseline] (171.072 ms) : 0, 171072
AppSec [candidate] (170.994 ms) : 0, 170994
Remote Config [baseline] (673.053 µs) : 0, 673
Remote Config [candidate] (661.566 µs) : 0, 662
Telemetry [baseline] (8.671 ms) : 0, 8671
Telemetry [candidate] (8.196 ms) : 0, 8196
IAST [baseline] (19.735 ms) : 0, 19735
IAST [candidate] (19.437 ms) : 0, 19437
section iast
BytebuddyAgent [baseline] (828.263 ms) : 0, 828263
BytebuddyAgent [candidate] (838.647 ms) : 0, 838647
GlobalTracer [baseline] (246.052 ms) : 0, 246052
GlobalTracer [candidate] (248.468 ms) : 0, 248468
AppSec [baseline] (57.84 ms) : 0, 57840
AppSec [candidate] (58.369 ms) : 0, 58369
Remote Config [baseline] (662.395 µs) : 0, 662
Remote Config [candidate] (680.868 µs) : 0, 681
Telemetry [baseline] (8.707 ms) : 0, 8707
Telemetry [candidate] (8.876 ms) : 0, 8876
IAST [baseline] (21.664 ms) : 0, 21664
IAST [candidate] (21.765 ms) : 0, 21765
section profiling
ProfilingAgent [baseline] (96.492 ms) : 0, 96492
ProfilingAgent [candidate] (96.374 ms) : 0, 96374
BytebuddyAgent [baseline] (706.685 ms) : 0, 706685
BytebuddyAgent [candidate] (714.009 ms) : 0, 714009
GlobalTracer [baseline] (351.4 ms) : 0, 351400
GlobalTracer [candidate] (355.183 ms) : 0, 355183
AppSec [baseline] (54.942 ms) : 0, 54942
AppSec [candidate] (53.844 ms) : 0, 53844
Remote Config [baseline] (677.063 µs) : 0, 677
Remote Config [candidate] (664.713 µs) : 0, 665
Telemetry [baseline] (9.01 ms) : 0, 9010
Telemetry [candidate] (8.87 ms) : 0, 8870
Profiling [baseline] (96.517 ms) : 0, 96517
Profiling [candidate] (96.398 ms) : 0, 96398
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section baseline
no_agent (1.363 ms) : 1344, 1382
. : milestone, 1363,
appsec (1.734 ms) : 1710, 1757
. : milestone, 1734,
appsec_no_iast (1.753 ms) : 1729, 1777
. : milestone, 1753,
iast (1.482 ms) : 1460, 1505
. : milestone, 1482,
profiling (1.499 ms) : 1475, 1522
. : milestone, 1499,
tracing (1.502 ms) : 1477, 1526
. : milestone, 1502,
section candidate
no_agent (1.351 ms) : 1331, 1371
. : milestone, 1351,
appsec (1.746 ms) : 1721, 1770
. : milestone, 1746,
appsec_no_iast (1.763 ms) : 1737, 1788
. : milestone, 1763,
iast (1.532 ms) : 1508, 1555
. : milestone, 1532,
profiling (1.516 ms) : 1492, 1540
. : milestone, 1516,
tracing (1.501 ms) : 1477, 1525
. : milestone, 1501,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section baseline
no_agent (378.499 µs) : 358, 399
. : milestone, 378,
iast (501.922 µs) : 480, 524
. : milestone, 502,
iast_FULL (655.744 µs) : 634, 677
. : milestone, 656,
iast_GLOBAL (521.144 µs) : 499, 543
. : milestone, 521,
iast_HARDCODED_SECRET_DISABLED (494.568 µs) : 473, 516
. : milestone, 495,
iast_INACTIVE (459.455 µs) : 438, 481
. : milestone, 459,
iast_TELEMETRY_OFF (481.196 µs) : 460, 503
. : milestone, 481,
tracing (448.099 µs) : 427, 469
. : milestone, 448,
section candidate
no_agent (383.155 µs) : 363, 403
. : milestone, 383,
iast (493.073 µs) : 471, 515
. : milestone, 493,
iast_FULL (657.364 µs) : 636, 679
. : milestone, 657,
iast_GLOBAL (535.502 µs) : 512, 559
. : milestone, 536,
iast_HARDCODED_SECRET_DISABLED (493.312 µs) : 472, 515
. : milestone, 493,
iast_INACTIVE (454.727 µs) : 434, 476
. : milestone, 455,
iast_TELEMETRY_OFF (478.0 µs) : 457, 499
. : milestone, 478,
tracing (450.174 µs) : 429, 471
. : milestone, 450,
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.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section baseline
no_agent (1.468 ms) : 1456, 1479
. : milestone, 1468,
appsec (2.348 ms) : 2305, 2391
. : milestone, 2348,
iast (2.091 ms) : 2036, 2145
. : milestone, 2091,
iast_GLOBAL (2.134 ms) : 2079, 2188
. : milestone, 2134,
profiling (2.461 ms) : 2273, 2650
. : milestone, 2461,
tracing (1.935 ms) : 1893, 1977
. : milestone, 1935,
section candidate
no_agent (1.463 ms) : 1452, 1475
. : milestone, 1463,
appsec (2.349 ms) : 2306, 2392
. : milestone, 2349,
iast (2.081 ms) : 2027, 2135
. : milestone, 2081,
iast_GLOBAL (2.14 ms) : 2085, 2194
. : milestone, 2140,
profiling (1.967 ms) : 1924, 2010
. : milestone, 1967,
tracing (1.936 ms) : 1894, 1978
. : milestone, 1936,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~8bf78ade0c, baseline=1.46.0-SNAPSHOT~8b63e5a85b
dateFormat X
axisFormat %s
section baseline
no_agent (14.935 s) : 14935000, 14935000
. : milestone, 14935000,
appsec (15.149 s) : 15149000, 15149000
. : milestone, 15149000,
iast (18.804 s) : 18804000, 18804000
. : milestone, 18804000,
iast_GLOBAL (17.924 s) : 17924000, 17924000
. : milestone, 17924000,
profiling (15.182 s) : 15182000, 15182000
. : milestone, 15182000,
tracing (15.172 s) : 15172000, 15172000
. : milestone, 15172000,
section candidate
no_agent (15.453 s) : 15453000, 15453000
. : milestone, 15453000,
appsec (14.932 s) : 14932000, 14932000
. : milestone, 14932000,
iast (18.887 s) : 18887000, 18887000
. : milestone, 18887000,
iast_GLOBAL (18.061 s) : 18061000, 18061000
. : milestone, 18061000,
profiling (15.022 s) : 15022000, 15022000
. : milestone, 15022000,
tracing (15.16 s) : 15160000, 15160000
. : milestone, 15160000,
|
@@ -45,6 +45,7 @@ compileMain_java11Java.configure { | |||
dependencies { | |||
main_java11CompileOnly project(':internal-api') | |||
main_java11CompileOnly sourceSets.main.output | |||
main_java11CompileOnly libs.bytebuddy |
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's a small bit of risk here that by adding this dependency someone in the future could depend on a byte-buddy class elsewhere in this module and expect it to be loadable from the bootstrap class-path. Only advice and helpers are going to work here because they are not directly loaded (their bytecode is read and then they're injected into the target class-loader.)
If we wanted to remove that small risk then the other option would be to create a JPMS instrumentation project, which other instrumentations can then depend on.
In the future we should look at separating advice+helpers out more cleanly from instrumentation declarations, because that helps avoid accidental coupling at build-time and makes it easier to re-use them.
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.
IMHO a separate module might be the best solution, as it might be somewhat difficult for a dev to realize that he should not use byte-buddy classes in agent-bootstrap
(but it can be done as a future improvement).
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.
Just a small comment about how we might want to split up the codebase in the future.
What Does This Do
Move general purpose JPMS clearance advice to the bootstrap. It can be used to open any package (happening targeting a costructor of any class belonging it it) to the unnamed module (where our helpers/code reside)
Motivation
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]