Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

amarziali
Copy link
Collaborator

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

Jira ticket: [PROJ-IDENT]

Copy link
Contributor

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@pr-commenter
Copy link

pr-commenter bot commented Jan 15, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/refactor
git_commit_date 1736890492 1736930441
git_commit_sha 8b63e5a 8bf78ad
release_version 1.46.0-SNAPSHOT~8b63e5a85b 1.46.0-SNAPSHOT~8bf78ade0c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736932983 1736932983
ci_job_id 766813710 766813710
ci_pipeline_id 53041111 53041111
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
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, 4 unstable metrics.

Startup time reports for insecure-bank
gantt
    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
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent iast 1.189 s 131.985 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.18 s 123.379 ms (11.7%)
Agent iast_TELEMETRY_OFF 1.183 s 126.329 ms (12.0%)
Total tracing 8.652 s -
Total iast 9.216 s 564.684 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.163 s 510.891 ms (5.9%)
Total iast_TELEMETRY_OFF 9.182 s 530.099 ms (6.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent iast 1.184 s 131.146 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.18 s 127.551 ms (12.1%)
Agent iast_TELEMETRY_OFF 1.175 s 122.084 ms (11.6%)
Total tracing 8.586 s -
Total iast 9.194 s 608.375 ms (7.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.136 s 550.639 ms (6.4%)
Total iast_TELEMETRY_OFF 9.143 s 557.363 ms (6.5%)
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
Loading
Startup time reports for petclinic
gantt
    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
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.195 s 135.87 ms (12.8%)
Agent iast 1.178 s 118.718 ms (11.2%)
Agent profiling 1.261 s 202.087 ms (19.1%)
Total tracing 10.464 s -
Total appsec 10.722 s 257.877 ms (2.5%)
Total iast 10.918 s 454.225 ms (4.3%)
Total profiling 10.802 s 338.182 ms (3.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent appsec 1.186 s 130.229 ms (12.3%)
Agent iast 1.192 s 135.899 ms (12.9%)
Agent profiling 1.272 s 215.557 ms (20.4%)
Total tracing 10.41 s -
Total appsec 10.693 s 282.682 ms (2.7%)
Total iast 10.994 s 584.488 ms (5.6%)
Total profiling 10.833 s 423.252 ms (4.1%)
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
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-15T08:53:06 2025-01-15T09:00:05
git_branch master andrea.marziali/refactor
git_commit_date 1736890492 1736930441
git_commit_sha 8b63e5a 8bf78ad
release_version 1.46.0-SNAPSHOT~8b63e5a85b 1.46.0-SNAPSHOT~8bf78ade0c
start_time 2025-01-15T08:52:52 2025-01-15T08:59:52
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736931961 1736931961
ci_job_id 766813711 766813711
ci_pipeline_id 53041111 53041111
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    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,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.363 ms [1.344 ms, 1.382 ms] -
appsec 1.734 ms [1.71 ms, 1.757 ms] 370.636 µs (27.2%)
appsec_no_iast 1.753 ms [1.729 ms, 1.777 ms] 390.485 µs (28.7%)
iast 1.482 ms [1.46 ms, 1.505 ms] 119.437 µs (8.8%)
profiling 1.499 ms [1.475 ms, 1.522 ms] 136.023 µs (10.0%)
tracing 1.502 ms [1.477 ms, 1.526 ms] 138.847 µs (10.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.351 ms [1.331 ms, 1.371 ms] -
appsec 1.746 ms [1.721 ms, 1.77 ms] 394.49 µs (29.2%)
appsec_no_iast 1.763 ms [1.737 ms, 1.788 ms] 411.621 µs (30.5%)
iast 1.532 ms [1.508 ms, 1.555 ms] 180.783 µs (13.4%)
profiling 1.516 ms [1.492 ms, 1.54 ms] 164.758 µs (12.2%)
tracing 1.501 ms [1.477 ms, 1.525 ms] 150.064 µs (11.1%)
Request duration reports for insecure-bank
gantt
    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,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 378.499 µs [358.068 µs, 398.929 µs] -
iast 501.922 µs [479.711 µs, 524.134 µs] 123.424 µs (32.6%)
iast_FULL 655.744 µs [634.097 µs, 677.39 µs] 277.245 µs (73.2%)
iast_GLOBAL 521.144 µs [499.016 µs, 543.272 µs] 142.646 µs (37.7%)
iast_HARDCODED_SECRET_DISABLED 494.568 µs [472.881 µs, 516.254 µs] 116.069 µs (30.7%)
iast_INACTIVE 459.455 µs [437.848 µs, 481.062 µs] 80.956 µs (21.4%)
iast_TELEMETRY_OFF 481.196 µs [459.815 µs, 502.576 µs] 102.697 µs (27.1%)
tracing 448.099 µs [427.321 µs, 468.876 µs] 69.6 µs (18.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 383.155 µs [363.399 µs, 402.91 µs] -
iast 493.073 µs [471.219 µs, 514.928 µs] 109.919 µs (28.7%)
iast_FULL 657.364 µs [635.925 µs, 678.802 µs] 274.209 µs (71.6%)
iast_GLOBAL 535.502 µs [512.421 µs, 558.584 µs] 152.347 µs (39.8%)
iast_HARDCODED_SECRET_DISABLED 493.312 µs [471.947 µs, 514.677 µs] 110.157 µs (28.8%)
iast_INACTIVE 454.727 µs [433.597 µs, 475.857 µs] 71.572 µs (18.7%)
iast_TELEMETRY_OFF 478.0 µs [456.575 µs, 499.425 µs] 94.845 µs (24.8%)
tracing 450.174 µs [429.217 µs, 471.132 µs] 67.019 µs (17.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/refactor
git_commit_date 1736890492 1736930441
git_commit_sha 8b63e5a 8bf78ad
release_version 1.46.0-SNAPSHOT~8b63e5a85b 1.46.0-SNAPSHOT~8bf78ade0c
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1736932468 1736932468
ci_job_id 766813712 766813712
ci_pipeline_id 53041111 53041111
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
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 tomcat
gantt
    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,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.468 ms [1.456 ms, 1.479 ms] -
appsec 2.348 ms [2.305 ms, 2.391 ms] 880.297 µs (60.0%)
iast 2.091 ms [2.036 ms, 2.145 ms] 623.065 µs (42.5%)
iast_GLOBAL 2.134 ms [2.079 ms, 2.188 ms] 666.096 µs (45.4%)
profiling 2.461 ms [2.273 ms, 2.65 ms] 993.741 µs (67.7%)
tracing 1.935 ms [1.893 ms, 1.977 ms] 467.316 µs (31.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.463 ms [1.452 ms, 1.475 ms] -
appsec 2.349 ms [2.306 ms, 2.392 ms] 885.473 µs (60.5%)
iast 2.081 ms [2.027 ms, 2.135 ms] 617.342 µs (42.2%)
iast_GLOBAL 2.14 ms [2.085 ms, 2.194 ms] 676.134 µs (46.2%)
profiling 1.967 ms [1.924 ms, 2.01 ms] 503.583 µs (34.4%)
tracing 1.936 ms [1.894 ms, 1.978 ms] 472.391 µs (32.3%)
Execution time for biojava
gantt
    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,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.935 s [14.935 s, 14.935 s] -
appsec 15.149 s [15.149 s, 15.149 s] 214.0 ms (1.4%)
iast 18.804 s [18.804 s, 18.804 s] 3.869 s (25.9%)
iast_GLOBAL 17.924 s [17.924 s, 17.924 s] 2.989 s (20.0%)
profiling 15.182 s [15.182 s, 15.182 s] 247.0 ms (1.7%)
tracing 15.172 s [15.172 s, 15.172 s] 237.0 ms (1.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.453 s [15.453 s, 15.453 s] -
appsec 14.932 s [14.932 s, 14.932 s] -521.0 ms (-3.4%)
iast 18.887 s [18.887 s, 18.887 s] 3.434 s (22.2%)
iast_GLOBAL 18.061 s [18.061 s, 18.061 s] 2.608 s (16.9%)
profiling 15.022 s [15.022 s, 15.022 s] -431.0 ms (-2.8%)
tracing 15.16 s [15.16 s, 15.16 s] -293.0 ms (-1.9%)

@@ -45,6 +45,7 @@ compileMain_java11Java.configure {
dependencies {
main_java11CompileOnly project(':internal-api')
main_java11CompileOnly sourceSets.main.output
main_java11CompileOnly libs.bytebuddy
Copy link
Contributor

@mcculls mcculls Jan 15, 2025

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.

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

Copy link
Contributor

@mcculls mcculls left a 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.

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

Successfully merging this pull request may close these issues.

3 participants