-
Notifications
You must be signed in to change notification settings - Fork 320
Use ClassLoaderValues to track class-loader state
#10075
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
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 10 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1059885
Total [baseline] (10.832 s) : 0, 10831599
Agent [candidate] (1.057 s) : 0, 1056889
Total [candidate] (10.943 s) : 0, 10943383
section appsec
Agent [baseline] (1.232 s) : 0, 1232245
Total [baseline] (10.882 s) : 0, 10881787
Agent [candidate] (1.231 s) : 0, 1231003
Total [candidate] (10.977 s) : 0, 10976882
section iast
Agent [baseline] (1.193 s) : 0, 1192795
Total [baseline] (11.15 s) : 0, 11150094
Agent [candidate] (1.196 s) : 0, 1195552
Total [candidate] (11.159 s) : 0, 11158712
section profiling
Agent [baseline] (1.202 s) : 0, 1201548
Total [baseline] (10.994 s) : 0, 10994003
Agent [candidate] (1.198 s) : 0, 1198070
Total [candidate] (10.871 s) : 0, 10870675
gantt
title petclinic - break down per module: candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.482 ms) : 0, 1482
crashtracking [candidate] (1.484 ms) : 0, 1484
BytebuddyAgent [baseline] (712.571 ms) : 0, 712571
BytebuddyAgent [candidate] (710.373 ms) : 0, 710373
GlobalTracer [baseline] (250.721 ms) : 0, 250721
GlobalTracer [candidate] (250.219 ms) : 0, 250219
AppSec [baseline] (32.519 ms) : 0, 32519
AppSec [candidate] (31.971 ms) : 0, 31971
Debugger [baseline] (6.467 ms) : 0, 6467
Debugger [candidate] (6.378 ms) : 0, 6378
Remote Config [baseline] (687.535 µs) : 0, 688
Remote Config [candidate] (673.112 µs) : 0, 673
Telemetry [baseline] (16.3 ms) : 0, 16300
Telemetry [candidate] (16.241 ms) : 0, 16241
Flare Poller [baseline] (4.118 ms) : 0, 4118
Flare Poller [candidate] (4.31 ms) : 0, 4310
section appsec
crashtracking [baseline] (1.485 ms) : 0, 1485
crashtracking [candidate] (1.473 ms) : 0, 1473
BytebuddyAgent [baseline] (735.406 ms) : 0, 735406
BytebuddyAgent [candidate] (731.684 ms) : 0, 731684
GlobalTracer [baseline] (241.364 ms) : 0, 241364
GlobalTracer [candidate] (242.704 ms) : 0, 242704
IAST [baseline] (24.756 ms) : 0, 24756
IAST [candidate] (25.104 ms) : 0, 25104
AppSec [baseline] (174.995 ms) : 0, 174995
AppSec [candidate] (175.582 ms) : 0, 175582
Debugger [baseline] (6.243 ms) : 0, 6243
Debugger [candidate] (6.284 ms) : 0, 6284
Remote Config [baseline] (695.297 µs) : 0, 695
Remote Config [candidate] (709.197 µs) : 0, 709
Telemetry [baseline] (8.23 ms) : 0, 8230
Telemetry [candidate] (8.166 ms) : 0, 8166
Flare Poller [baseline] (3.986 ms) : 0, 3986
Flare Poller [candidate] (4.118 ms) : 0, 4118
section iast
crashtracking [baseline] (1.479 ms) : 0, 1479
crashtracking [candidate] (1.49 ms) : 0, 1490
BytebuddyAgent [baseline] (832.149 ms) : 0, 832149
BytebuddyAgent [candidate] (833.703 ms) : 0, 833703
GlobalTracer [baseline] (237.753 ms) : 0, 237753
GlobalTracer [candidate] (238.025 ms) : 0, 238025
IAST [baseline] (33.366 ms) : 0, 33366
IAST [candidate] (28.994 ms) : 0, 28994
AppSec [baseline] (27.987 ms) : 0, 27987
AppSec [candidate] (32.366 ms) : 0, 32366
Debugger [baseline] (6.075 ms) : 0, 6075
Debugger [candidate] (6.086 ms) : 0, 6086
Remote Config [baseline] (602.998 µs) : 0, 603
Remote Config [candidate] (610.517 µs) : 0, 611
Telemetry [baseline] (7.869 ms) : 0, 7869
Telemetry [candidate] (8.001 ms) : 0, 8001
Flare Poller [baseline] (10.686 ms) : 0, 10686
Flare Poller [candidate] (11.044 ms) : 0, 11044
section profiling
crashtracking [baseline] (1.435 ms) : 0, 1435
crashtracking [candidate] (1.439 ms) : 0, 1439
BytebuddyAgent [baseline] (735.719 ms) : 0, 735719
BytebuddyAgent [candidate] (734.732 ms) : 0, 734732
GlobalTracer [baseline] (222.792 ms) : 0, 222792
GlobalTracer [candidate] (222.151 ms) : 0, 222151
AppSec [baseline] (32.363 ms) : 0, 32363
AppSec [candidate] (32.063 ms) : 0, 32063
Debugger [baseline] (6.816 ms) : 0, 6816
Debugger [candidate] (8.258 ms) : 0, 8258
Remote Config [baseline] (697.568 µs) : 0, 698
Remote Config [candidate] (679.381 µs) : 0, 679
Telemetry [baseline] (16.454 ms) : 0, 16454
Telemetry [candidate] (14.764 ms) : 0, 14764
Flare Poller [baseline] (4.24 ms) : 0, 4240
Flare Poller [candidate] (4.118 ms) : 0, 4118
ProfilingAgent [baseline] (111.485 ms) : 0, 111485
ProfilingAgent [candidate] (110.418 ms) : 0, 110418
Profiling [baseline] (112.115 ms) : 0, 112115
Profiling [candidate] (111.057 ms) : 0, 111057
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055582
Total [baseline] (8.761 s) : 0, 8761387
Agent [candidate] (1.057 s) : 0, 1056994
Total [candidate] (8.801 s) : 0, 8801066
section iast
Agent [baseline] (1.19 s) : 0, 1190403
Total [baseline] (9.337 s) : 0, 9336659
Agent [candidate] (1.194 s) : 0, 1193823
Total [candidate] (9.341 s) : 0, 9340672
gantt
title insecure-bank - break down per module: candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.492 ms) : 0, 1492
crashtracking [candidate] (1.494 ms) : 0, 1494
BytebuddyAgent [baseline] (709.625 ms) : 0, 709625
BytebuddyAgent [candidate] (710.792 ms) : 0, 710792
GlobalTracer [baseline] (249.991 ms) : 0, 249991
GlobalTracer [candidate] (249.74 ms) : 0, 249740
AppSec [baseline] (32.042 ms) : 0, 32042
AppSec [candidate] (32.071 ms) : 0, 32071
Debugger [baseline] (6.399 ms) : 0, 6399
Debugger [candidate] (6.356 ms) : 0, 6356
Remote Config [baseline] (676.664 µs) : 0, 677
Remote Config [candidate] (679.832 µs) : 0, 680
Telemetry [baseline] (15.484 ms) : 0, 15484
Telemetry [candidate] (16.178 ms) : 0, 16178
Flare Poller [baseline] (4.847 ms) : 0, 4847
Flare Poller [candidate] (4.359 ms) : 0, 4359
section iast
crashtracking [baseline] (1.475 ms) : 0, 1475
crashtracking [candidate] (1.483 ms) : 0, 1483
BytebuddyAgent [baseline] (830.707 ms) : 0, 830707
BytebuddyAgent [candidate] (832.505 ms) : 0, 832505
GlobalTracer [baseline] (237.111 ms) : 0, 237111
GlobalTracer [candidate] (237.257 ms) : 0, 237257
IAST [baseline] (32.42 ms) : 0, 32420
IAST [candidate] (28.258 ms) : 0, 28258
AppSec [baseline] (28.598 ms) : 0, 28598
AppSec [candidate] (33.142 ms) : 0, 33142
Debugger [baseline] (6.038 ms) : 0, 6038
Debugger [candidate] (6.114 ms) : 0, 6114
Remote Config [baseline] (608.509 µs) : 0, 609
Remote Config [candidate] (603.547 µs) : 0, 604
Telemetry [baseline] (7.869 ms) : 0, 7869
Telemetry [candidate] (8.05 ms) : 0, 8050
Flare Poller [baseline] (10.718 ms) : 0, 10718
Flare Poller [candidate] (11.101 ms) : 0, 11101
LoadParameters
See matching parameters
SummaryFound 2 performance improvements and 2 performance regressions! Performance is the same for 16 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section baseline
no_agent (1.201 ms) : 1189, 1213
. : milestone, 1201,
iast (3.285 ms) : 3241, 3329
. : milestone, 3285,
iast_FULL (5.815 ms) : 5757, 5873
. : milestone, 5815,
iast_GLOBAL (3.54 ms) : 3488, 3592
. : milestone, 3540,
profiling (2.035 ms) : 2017, 2053
. : milestone, 2035,
tracing (1.769 ms) : 1754, 1784
. : milestone, 1769,
section candidate
no_agent (1.218 ms) : 1206, 1230
. : milestone, 1218,
iast (3.185 ms) : 3144, 3227
. : milestone, 3185,
iast_FULL (5.853 ms) : 5795, 5912
. : milestone, 5853,
iast_GLOBAL (3.654 ms) : 3592, 3715
. : milestone, 3654,
profiling (2.041 ms) : 2022, 2061
. : milestone, 2041,
tracing (1.791 ms) : 1777, 1805
. : milestone, 1791,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section baseline
no_agent (18.884 ms) : 18693, 19076
. : milestone, 18884,
appsec (18.519 ms) : 18330, 18707
. : milestone, 18519,
code_origins (17.734 ms) : 17560, 17908
. : milestone, 17734,
iast (17.738 ms) : 17565, 17912
. : milestone, 17738,
profiling (18.674 ms) : 18489, 18860
. : milestone, 18674,
tracing (19.073 ms) : 18879, 19268
. : milestone, 19073,
section candidate
no_agent (19.026 ms) : 18831, 19222
. : milestone, 19026,
appsec (18.468 ms) : 18282, 18653
. : milestone, 18468,
code_origins (17.611 ms) : 17438, 17784
. : milestone, 17611,
iast (17.76 ms) : 17579, 17940
. : milestone, 17760,
profiling (20.706 ms) : 20497, 20915
. : milestone, 20706,
tracing (17.757 ms) : 17582, 17933
. : milestone, 17757,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section baseline
no_agent (15.31 s) : 15310000, 15310000
. : milestone, 15310000,
appsec (14.679 s) : 14679000, 14679000
. : milestone, 14679000,
iast (18.445 s) : 18445000, 18445000
. : milestone, 18445000,
iast_GLOBAL (17.957 s) : 17957000, 17957000
. : milestone, 17957000,
profiling (14.553 s) : 14553000, 14553000
. : milestone, 14553000,
tracing (14.804 s) : 14804000, 14804000
. : milestone, 14804000,
section candidate
no_agent (15.287 s) : 15287000, 15287000
. : milestone, 15287000,
appsec (14.541 s) : 14541000, 14541000
. : milestone, 14541000,
iast (18.818 s) : 18818000, 18818000
. : milestone, 18818000,
iast_GLOBAL (18.027 s) : 18027000, 18027000
. : milestone, 18027000,
profiling (14.611 s) : 14611000, 14611000
. : milestone, 14611000,
tracing (14.757 s) : 14757000, 14757000
. : milestone, 14757000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~19ac5f4818, baseline=1.57.0-SNAPSHOT~47898ce492
dateFormat X
axisFormat %s
section baseline
no_agent (1.474 ms) : 1462, 1485
. : milestone, 1474,
appsec (3.662 ms) : 3449, 3874
. : milestone, 3662,
iast (2.217 ms) : 2152, 2281
. : milestone, 2217,
iast_GLOBAL (2.254 ms) : 2189, 2319
. : milestone, 2254,
profiling (2.058 ms) : 2006, 2110
. : milestone, 2058,
tracing (2.036 ms) : 1986, 2087
. : milestone, 2036,
section candidate
no_agent (1.476 ms) : 1464, 1487
. : milestone, 1476,
appsec (3.689 ms) : 3472, 3906
. : milestone, 3689,
iast (2.215 ms) : 2150, 2279
. : milestone, 2215,
iast_GLOBAL (2.253 ms) : 2188, 2317
. : milestone, 2253,
profiling (2.064 ms) : 2012, 2116
. : milestone, 2064,
tracing (2.045 ms) : 1994, 2095
. : milestone, 2045,
|
04833ae to
874ed9c
Compare
PerfectSlayer
left a comment
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.
Looking good 👍
🔍 nitpick: I would add a quick comment before the new task schedule to clarify the task goal and the chosen delay. This Agent part is already pretty packed with various stuff, that are not always easy to follow 😓 (and the comment is only in the PR, not in the commit message so harder to find). But that's nitpick 😇
…art (no need to schedule this early on)
What Does This Do
ClassLoaderValueprovides the same functionality asClassValue, but for class-loaders rather than classes.Note: the computed value should not have a strong-reference back to the associated class-loader, as that would stop the class-loader from being unloaded in the future.
Motivation
ClassLoaderValues don't require up-front sizing and are cleaned up in the background using a shared task. The period between cleanups was chosen to be 30s given class-loaders are rarely unloaded.Contributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: APMAPI-1654