Protect exception advices from NoClassDefFound#9769
Conversation
|
🎯 Code Coverage 🔗 Commit SHA: d2460a2 | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 8 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.03 s) : 0, 1030135
Total [baseline] (8.747 s) : 0, 8747326
Agent [candidate] (1.021 s) : 0, 1020710
Total [candidate] (8.697 s) : 0, 8696811
section iast
Agent [baseline] (1.151 s) : 0, 1151011
Total [baseline] (9.292 s) : 0, 9292054
Agent [candidate] (1.152 s) : 0, 1152409
Total [candidate] (9.328 s) : 0, 9328153
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.502 ms) : 0, 1502
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (702.639 ms) : 0, 702639
BytebuddyAgent [candidate] (694.401 ms) : 0, 694401
GlobalTracer [baseline] (245.829 ms) : 0, 245829
GlobalTracer [candidate] (244.387 ms) : 0, 244387
AppSec [baseline] (33.088 ms) : 0, 33088
AppSec [candidate] (32.668 ms) : 0, 32668
Debugger [baseline] (6.5 ms) : 0, 6500
Debugger [candidate] (6.407 ms) : 0, 6407
Remote Config [baseline] (693.755 µs) : 0, 694
Remote Config [candidate] (708.99 µs) : 0, 709
Telemetry [baseline] (9.534 ms) : 0, 9534
Telemetry [candidate] (9.376 ms) : 0, 9376
Flare Poller [baseline] (8.932 ms) : 0, 8932
Flare Poller [candidate] (10.158 ms) : 0, 10158
section iast
crashtracking [baseline] (1.501 ms) : 0, 1501
crashtracking [candidate] (1.493 ms) : 0, 1493
BytebuddyAgent [baseline] (814.361 ms) : 0, 814361
BytebuddyAgent [candidate] (815.852 ms) : 0, 815852
GlobalTracer [baseline] (232.34 ms) : 0, 232340
GlobalTracer [candidate] (232.55 ms) : 0, 232550
AppSec [baseline] (35.128 ms) : 0, 35128
AppSec [candidate] (34.867 ms) : 0, 34867
Debugger [baseline] (6.138 ms) : 0, 6138
Debugger [candidate] (6.172 ms) : 0, 6172
Remote Config [baseline] (610.026 µs) : 0, 610
Remote Config [candidate] (606.938 µs) : 0, 607
Telemetry [baseline] (8.603 ms) : 0, 8603
Telemetry [candidate] (8.716 ms) : 0, 8716
Flare Poller [baseline] (4.268 ms) : 0, 4268
Flare Poller [candidate] (4.235 ms) : 0, 4235
IAST [baseline] (26.498 ms) : 0, 26498
IAST [candidate] (26.44 ms) : 0, 26440
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1018902
Total [baseline] (10.687 s) : 0, 10687300
Agent [candidate] (1.014 s) : 0, 1014135
Total [candidate] (10.683 s) : 0, 10683256
section appsec
Agent [baseline] (1.196 s) : 0, 1195987
Total [baseline] (10.85 s) : 0, 10850065
Agent [candidate] (1.208 s) : 0, 1207517
Total [candidate] (10.914 s) : 0, 10914112
section iast
Agent [baseline] (1.152 s) : 0, 1152232
Total [baseline] (11.06 s) : 0, 11060482
Agent [candidate] (1.159 s) : 0, 1158535
Total [candidate] (11.112 s) : 0, 11112468
section profiling
Agent [baseline] (1.162 s) : 0, 1162073
Total [baseline] (10.846 s) : 0, 10846495
Agent [candidate] (1.162 s) : 0, 1162250
Total [candidate] (10.859 s) : 0, 10858686
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.483 ms) : 0, 1483
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (694.089 ms) : 0, 694089
BytebuddyAgent [candidate] (692.193 ms) : 0, 692193
GlobalTracer [baseline] (242.969 ms) : 0, 242969
GlobalTracer [candidate] (242.925 ms) : 0, 242925
AppSec [baseline] (32.423 ms) : 0, 32423
AppSec [candidate] (32.229 ms) : 0, 32229
Debugger [baseline] (6.387 ms) : 0, 6387
Debugger [candidate] (6.349 ms) : 0, 6349
Remote Config [baseline] (689.282 µs) : 0, 689
Remote Config [candidate] (667.51 µs) : 0, 668
Telemetry [baseline] (9.376 ms) : 0, 9376
Telemetry [candidate] (9.382 ms) : 0, 9382
Flare Poller [baseline] (10.216 ms) : 0, 10216
Flare Poller [candidate] (7.856 ms) : 0, 7856
section appsec
crashtracking [baseline] (1.479 ms) : 0, 1479
crashtracking [candidate] (1.482 ms) : 0, 1482
BytebuddyAgent [baseline] (717.49 ms) : 0, 717490
BytebuddyAgent [candidate] (727.006 ms) : 0, 727006
GlobalTracer [baseline] (235.836 ms) : 0, 235836
GlobalTracer [candidate] (238.013 ms) : 0, 238013
AppSec [baseline] (175.893 ms) : 0, 175893
AppSec [candidate] (175.73 ms) : 0, 175730
Debugger [baseline] (6.073 ms) : 0, 6073
Debugger [candidate] (6.04 ms) : 0, 6040
Remote Config [baseline] (633.1 µs) : 0, 633
Remote Config [candidate] (632.492 µs) : 0, 632
Telemetry [baseline] (8.545 ms) : 0, 8545
Telemetry [candidate] (8.418 ms) : 0, 8418
Flare Poller [baseline] (3.962 ms) : 0, 3962
Flare Poller [candidate] (3.86 ms) : 0, 3860
IAST [baseline] (24.845 ms) : 0, 24845
IAST [candidate] (24.999 ms) : 0, 24999
section iast
crashtracking [baseline] (1.482 ms) : 0, 1482
crashtracking [candidate] (1.476 ms) : 0, 1476
BytebuddyAgent [baseline] (815.558 ms) : 0, 815558
BytebuddyAgent [candidate] (819.341 ms) : 0, 819341
GlobalTracer [baseline] (232.477 ms) : 0, 232477
GlobalTracer [candidate] (233.471 ms) : 0, 233471
AppSec [baseline] (34.078 ms) : 0, 34078
AppSec [candidate] (35.848 ms) : 0, 35848
Debugger [baseline] (7.082 ms) : 0, 7082
Debugger [candidate] (6.265 ms) : 0, 6265
Remote Config [baseline] (604.277 µs) : 0, 604
Remote Config [candidate] (616.06 µs) : 0, 616
Telemetry [baseline] (8.778 ms) : 0, 8778
Telemetry [candidate] (8.784 ms) : 0, 8784
Flare Poller [baseline] (4.254 ms) : 0, 4254
Flare Poller [candidate] (4.242 ms) : 0, 4242
IAST [baseline] (26.395 ms) : 0, 26395
IAST [candidate] (26.826 ms) : 0, 26826
section profiling
crashtracking [baseline] (1.433 ms) : 0, 1433
crashtracking [candidate] (1.439 ms) : 0, 1439
BytebuddyAgent [baseline] (719.887 ms) : 0, 719887
BytebuddyAgent [candidate] (720.877 ms) : 0, 720877
GlobalTracer [baseline] (218.786 ms) : 0, 218786
GlobalTracer [candidate] (218.493 ms) : 0, 218493
AppSec [baseline] (32.198 ms) : 0, 32198
AppSec [candidate] (32.203 ms) : 0, 32203
Debugger [baseline] (6.724 ms) : 0, 6724
Debugger [candidate] (7.491 ms) : 0, 7491
Remote Config [baseline] (712.521 µs) : 0, 713
Remote Config [candidate] (701.584 µs) : 0, 702
Telemetry [baseline] (15.157 ms) : 0, 15157
Telemetry [candidate] (14.413 ms) : 0, 14413
Flare Poller [baseline] (4.913 ms) : 0, 4913
Flare Poller [candidate] (5.011 ms) : 0, 5011
ProfilingAgent [baseline] (108.795 ms) : 0, 108795
ProfilingAgent [candidate] (108.749 ms) : 0, 108749
Profiling [baseline] (110.253 ms) : 0, 110253
Profiling [candidate] (109.611 ms) : 0, 109611
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 11 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section baseline
no_agent (36.593 ms) : 36293, 36893
. : milestone, 36593,
appsec (49.993 ms) : 49541, 50446
. : milestone, 49993,
code_origins (43.224 ms) : 42860, 43588
. : milestone, 43224,
iast (44.227 ms) : 43826, 44628
. : milestone, 44227,
profiling (48.635 ms) : 48184, 49085
. : milestone, 48635,
tracing (41.843 ms) : 41485, 42201
. : milestone, 41843,
section candidate
no_agent (35.687 ms) : 35398, 35975
. : milestone, 35687,
appsec (49.441 ms) : 48996, 49885
. : milestone, 49441,
code_origins (42.645 ms) : 42288, 43002
. : milestone, 42645,
iast (43.596 ms) : 43212, 43979
. : milestone, 43596,
profiling (49.163 ms) : 48706, 49620
. : milestone, 49163,
tracing (43.853 ms) : 43478, 44227
. : milestone, 43853,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section baseline
no_agent (4.404 ms) : 4354, 4455
. : milestone, 4404,
iast (9.938 ms) : 9772, 10105
. : milestone, 9938,
iast_FULL (14.121 ms) : 13838, 14403
. : milestone, 14121,
iast_GLOBAL (10.826 ms) : 10632, 11019
. : milestone, 10826,
profiling (8.949 ms) : 8808, 9091
. : milestone, 8949,
tracing (7.871 ms) : 7749, 7993
. : milestone, 7871,
section candidate
no_agent (4.383 ms) : 4333, 4432
. : milestone, 4383,
iast (9.6 ms) : 9438, 9761
. : milestone, 9600,
iast_FULL (14.649 ms) : 14356, 14942
. : milestone, 14649,
iast_GLOBAL (10.785 ms) : 10592, 10978
. : milestone, 10785,
profiling (8.752 ms) : 8616, 8888
. : milestone, 8752,
tracing (7.685 ms) : 7576, 7793
. : milestone, 7685,
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.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section baseline
no_agent (15.537 s) : 15537000, 15537000
. : milestone, 15537000,
appsec (15.066 s) : 15066000, 15066000
. : milestone, 15066000,
iast (18.692 s) : 18692000, 18692000
. : milestone, 18692000,
iast_GLOBAL (18.115 s) : 18115000, 18115000
. : milestone, 18115000,
profiling (15.365 s) : 15365000, 15365000
. : milestone, 15365000,
tracing (15.233 s) : 15233000, 15233000
. : milestone, 15233000,
section candidate
no_agent (15.203 s) : 15203000, 15203000
. : milestone, 15203000,
appsec (14.98 s) : 14980000, 14980000
. : milestone, 14980000,
iast (18.656 s) : 18656000, 18656000
. : milestone, 18656000,
iast_GLOBAL (18.065 s) : 18065000, 18065000
. : milestone, 18065000,
profiling (15.13 s) : 15130000, 15130000
. : milestone, 15130000,
tracing (15.019 s) : 15019000, 15019000
. : milestone, 15019000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~d2460a24e5, baseline=1.55.0-SNAPSHOT~33e27c7cea
dateFormat X
axisFormat %s
section baseline
no_agent (1.483 ms) : 1472, 1495
. : milestone, 1483,
appsec (3.702 ms) : 3486, 3918
. : milestone, 3702,
iast (2.211 ms) : 2148, 2274
. : milestone, 2211,
iast_GLOBAL (2.259 ms) : 2195, 2323
. : milestone, 2259,
profiling (2.074 ms) : 2021, 2127
. : milestone, 2074,
tracing (2.028 ms) : 1978, 2077
. : milestone, 2028,
section candidate
no_agent (1.486 ms) : 1474, 1497
. : milestone, 1486,
appsec (3.702 ms) : 3483, 3920
. : milestone, 3702,
iast (2.226 ms) : 2162, 2290
. : milestone, 2226,
iast_GLOBAL (2.258 ms) : 2194, 2322
. : milestone, 2258,
profiling (2.076 ms) : 2023, 2129
. : milestone, 2076,
tracing (2.041 ms) : 1991, 2091
. : milestone, 2041,
|
ae9b776 to
3affde0
Compare
| final ExceptionSampleEvent event = ExceptionProfiling.getInstance().process((Throwable) t); | ||
| ExceptionSampleEvent event = null; | ||
| final ExceptionProfiling exceptionProfiling = ExceptionProfiling.getInstance(); | ||
| if (exceptionProfiling != null) { |
There was a problem hiding this comment.
Would it be worth introducing an interface so we could return a "no-op" implementation when the real implementation can't be loaded? That would avoid all these null-checks... some of which will be checked on every profiled exception.
There was a problem hiding this comment.
Yes, I've been thinking that we should use SPI approaches more often.
I'd really like code to request an implementation of an interface -- and when one isn't available get back a Null/NoOp version in instead.
There was a problem hiding this comment.
I extracted an interface. done in d2460a2
3affde0 to
b838e88
Compare
b838e88 to
d2460a2
Compare
What Does This Do
Protect against No Class Def Found.
Motivation
Additional Notes
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: [PROJ-IDENT]