-
Notifications
You must be signed in to change notification settings - Fork 320
Protect exception advices from NoClassDefFound #9769
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
|
🎯 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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]