Conversation
1000d15 to
0b4c260
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 48 metrics, 15 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046530
Total [baseline] (8.519 s) : 0, 8519284
Agent [candidate] (1.053 s) : 0, 1053283
Total [candidate] (8.559 s) : 0, 8558809
section iast
Agent [baseline] (1.173 s) : 0, 1173459
Total [baseline] (9.006 s) : 0, 9005761
Agent [candidate] (1.175 s) : 0, 1175098
Total [candidate] (8.972 s) : 0, 8972264
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.184 s) : 0, 1184032
Total [baseline] (9.006 s) : 0, 9006235
Agent [candidate] (1.191 s) : 0, 1190720
Total [candidate] (9.017 s) : 0, 9017044
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1174913
Total [baseline] (9.04 s) : 0, 9040181
Agent [candidate] (1.174 s) : 0, 1173673
Total [candidate] (8.985 s) : 0, 8985255
gantt
title insecure-bank - break down per module: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (667.336 ms) : 0, 667336
BytebuddyAgent [candidate] (671.464 ms) : 0, 671464
GlobalTracer [baseline] (306.746 ms) : 0, 306746
GlobalTracer [candidate] (308.902 ms) : 0, 308902
AppSec [baseline] (50.884 ms) : 0, 50884
AppSec [candidate] (51.294 ms) : 0, 51294
Remote Config [baseline] (681.747 µs) : 0, 682
Remote Config [candidate] (682.004 µs) : 0, 682
Telemetry [baseline] (7.459 ms) : 0, 7459
Telemetry [candidate] (7.524 ms) : 0, 7524
section iast
BytebuddyAgent [baseline] (780.821 ms) : 0, 780821
BytebuddyAgent [candidate] (781.764 ms) : 0, 781764
GlobalTracer [baseline] (296.179 ms) : 0, 296179
GlobalTracer [candidate] (296.343 ms) : 0, 296343
AppSec [baseline] (53.797 ms) : 0, 53797
AppSec [candidate] (54.46 ms) : 0, 54460
IAST [baseline] (21.518 ms) : 0, 21518
IAST [candidate] (20.659 ms) : 0, 20659
Remote Config [baseline] (570.709 µs) : 0, 571
Remote Config [candidate] (564.588 µs) : 0, 565
Telemetry [baseline] (7.147 ms) : 0, 7147
Telemetry [candidate] (7.853 ms) : 0, 7853
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (786.869 ms) : 0, 786869
BytebuddyAgent [candidate] (792.927 ms) : 0, 792927
GlobalTracer [baseline] (298.421 ms) : 0, 298421
GlobalTracer [candidate] (300.429 ms) : 0, 300429
AppSec [baseline] (51.233 ms) : 0, 51233
AppSec [candidate] (49.246 ms) : 0, 49246
IAST [baseline] (22.057 ms) : 0, 22057
IAST [candidate] (24.099 ms) : 0, 24099
Remote Config [baseline] (596.493 µs) : 0, 596
Remote Config [candidate] (608.659 µs) : 0, 609
Telemetry [baseline] (11.279 ms) : 0, 11279
Telemetry [candidate] (9.742 ms) : 0, 9742
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (780.194 ms) : 0, 780194
BytebuddyAgent [candidate] (779.434 ms) : 0, 779434
GlobalTracer [baseline] (296.754 ms) : 0, 296754
GlobalTracer [candidate] (297.68 ms) : 0, 297680
AppSec [baseline] (53.966 ms) : 0, 53966
AppSec [candidate] (51.212 ms) : 0, 51212
IAST [baseline] (22.71 ms) : 0, 22710
IAST [candidate] (24.111 ms) : 0, 24111
Remote Config [baseline] (631.025 µs) : 0, 631
Remote Config [candidate] (617.217 µs) : 0, 617
Telemetry [baseline] (7.135 ms) : 0, 7135
Telemetry [candidate] (7.106 ms) : 0, 7106
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055209
Total [baseline] (10.365 s) : 0, 10365343
Agent [candidate] (1.048 s) : 0, 1047643
Total [candidate] (10.406 s) : 0, 10405965
section appsec
Agent [baseline] (1.173 s) : 0, 1173001
Total [baseline] (10.466 s) : 0, 10466122
Agent [candidate] (1.177 s) : 0, 1177302
Total [candidate] (10.446 s) : 0, 10446429
section iast
Agent [baseline] (1.174 s) : 0, 1173856
Total [baseline] (10.788 s) : 0, 10788053
Agent [candidate] (1.18 s) : 0, 1179619
Total [candidate] (10.884 s) : 0, 10884416
section profiling
Agent [baseline] (1.242 s) : 0, 1241558
Total [baseline] (10.581 s) : 0, 10580987
Agent [candidate] (1.253 s) : 0, 1252854
Total [candidate] (10.663 s) : 0, 10663187
gantt
title petclinic - break down per module: candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (673.234 ms) : 0, 673234
BytebuddyAgent [candidate] (668.3 ms) : 0, 668300
GlobalTracer [baseline] (308.68 ms) : 0, 308680
GlobalTracer [candidate] (306.724 ms) : 0, 306724
AppSec [baseline] (51.565 ms) : 0, 51565
AppSec [candidate] (50.975 ms) : 0, 50975
Remote Config [baseline] (691.475 µs) : 0, 691
Remote Config [candidate] (686.995 µs) : 0, 687
Telemetry [baseline] (7.535 ms) : 0, 7535
Telemetry [candidate] (7.517 ms) : 0, 7517
section appsec
BytebuddyAgent [baseline] (680.044 ms) : 0, 680044
BytebuddyAgent [candidate] (682.712 ms) : 0, 682712
GlobalTracer [baseline] (301.091 ms) : 0, 301091
GlobalTracer [candidate] (301.72 ms) : 0, 301720
AppSec [baseline] (157.458 ms) : 0, 157458
AppSec [candidate] (157.91 ms) : 0, 157910
Remote Config [baseline] (601.803 µs) : 0, 602
Remote Config [candidate] (609.517 µs) : 0, 610
Telemetry [baseline] (9.297 ms) : 0, 9297
Telemetry [candidate] (10.293 ms) : 0, 10293
IAST [baseline] (21.998 ms) : 0, 21998
IAST [candidate] (21.007 ms) : 0, 21007
section iast
BytebuddyAgent [baseline] (780.941 ms) : 0, 780941
BytebuddyAgent [candidate] (784.186 ms) : 0, 784186
GlobalTracer [baseline] (295.848 ms) : 0, 295848
GlobalTracer [candidate] (297.292 ms) : 0, 297292
AppSec [baseline] (51.116 ms) : 0, 51116
AppSec [candidate] (51.717 ms) : 0, 51717
Remote Config [baseline] (601.975 µs) : 0, 602
Remote Config [candidate] (591.578 µs) : 0, 592
Telemetry [baseline] (8.642 ms) : 0, 8642
Telemetry [candidate] (11.111 ms) : 0, 11111
IAST [baseline] (23.248 ms) : 0, 23248
IAST [candidate] (21.195 ms) : 0, 21195
section profiling
BytebuddyAgent [baseline] (661.341 ms) : 0, 661341
BytebuddyAgent [candidate] (668.047 ms) : 0, 668047
GlobalTracer [baseline] (388.385 ms) : 0, 388385
GlobalTracer [candidate] (391.754 ms) : 0, 391754
AppSec [baseline] (52.314 ms) : 0, 52314
AppSec [candidate] (52.715 ms) : 0, 52715
Remote Config [baseline] (695.999 µs) : 0, 696
Remote Config [candidate] (697.299 µs) : 0, 697
Telemetry [baseline] (7.393 ms) : 0, 7393
Telemetry [candidate] (7.488 ms) : 0, 7488
ProfilingAgent [baseline] (94.438 ms) : 0, 94438
ProfilingAgent [candidate] (94.749 ms) : 0, 94749
Profiling [baseline] (94.463 ms) : 0, 94463
Profiling [candidate] (94.774 ms) : 0, 94774
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (1.332 ms) : 1313, 1351
. : milestone, 1332,
appsec (1.733 ms) : 1710, 1756
. : milestone, 1733,
appsec_no_iast (1.736 ms) : 1712, 1759
. : milestone, 1736,
iast (1.492 ms) : 1469, 1514
. : milestone, 1492,
profiling (1.521 ms) : 1495, 1547
. : milestone, 1521,
tracing (1.475 ms) : 1450, 1500
. : milestone, 1475,
section candidate
no_agent (1.317 ms) : 1298, 1337
. : milestone, 1317,
appsec (1.716 ms) : 1693, 1739
. : milestone, 1716,
appsec_no_iast (1.721 ms) : 1696, 1746
. : milestone, 1721,
iast (1.467 ms) : 1444, 1490
. : milestone, 1467,
profiling (1.524 ms) : 1498, 1550
. : milestone, 1524,
tracing (1.475 ms) : 1450, 1499
. : milestone, 1475,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (371.464 µs) : 351, 392
. : milestone, 371,
iast (480.913 µs) : 460, 502
. : milestone, 481,
iast_FULL (551.146 µs) : 529, 574
. : milestone, 551,
iast_GLOBAL (499.928 µs) : 478, 522
. : milestone, 500,
iast_HARDCODED_SECRET_DISABLED (478.96 µs) : 457, 501
. : milestone, 479,
iast_INACTIVE (453.376 µs) : 431, 476
. : milestone, 453,
iast_TELEMETRY_OFF (470.484 µs) : 449, 492
. : milestone, 470,
tracing (443.438 µs) : 423, 464
. : milestone, 443,
section candidate
no_agent (367.655 µs) : 348, 387
. : milestone, 368,
iast (476.126 µs) : 454, 498
. : milestone, 476,
iast_FULL (548.503 µs) : 526, 571
. : milestone, 549,
iast_GLOBAL (519.279 µs) : 496, 542
. : milestone, 519,
iast_HARDCODED_SECRET_DISABLED (472.463 µs) : 452, 493
. : milestone, 472,
iast_INACTIVE (452.916 µs) : 430, 475
. : milestone, 453,
iast_TELEMETRY_OFF (477.382 µs) : 455, 499
. : milestone, 477,
tracing (441.859 µs) : 421, 462
. : milestone, 442,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (1.538 ms) : 1525, 1550
. : milestone, 1538,
appsec (2.718 ms) : 2655, 2781
. : milestone, 2718,
iast (2.349 ms) : 2277, 2420
. : milestone, 2349,
iast_GLOBAL (2.421 ms) : 2346, 2496
. : milestone, 2421,
profiling (2.225 ms) : 2163, 2288
. : milestone, 2225,
tracing (2.191 ms) : 2131, 2251
. : milestone, 2191,
section candidate
no_agent (1.542 ms) : 1529, 1555
. : milestone, 1542,
appsec (2.72 ms) : 2657, 2782
. : milestone, 2720,
iast (2.372 ms) : 2298, 2445
. : milestone, 2372,
iast_GLOBAL (2.427 ms) : 2351, 2502
. : milestone, 2427,
profiling (2.227 ms) : 2163, 2290
. : milestone, 2227,
tracing (2.198 ms) : 2138, 2258
. : milestone, 2198,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.39.0-SNAPSHOT~0eac170115, baseline=1.39.0-SNAPSHOT~63ccd4c8fc
dateFormat X
axisFormat %s
section baseline
no_agent (20.443 s) : 20443000, 20443000
. : milestone, 20443000,
appsec (21.532 s) : 21532000, 21532000
. : milestone, 21532000,
iast (24.049 s) : 24049000, 24049000
. : milestone, 24049000,
iast_GLOBAL (24.885 s) : 24885000, 24885000
. : milestone, 24885000,
profiling (20.995 s) : 20995000, 20995000
. : milestone, 20995000,
tracing (21.362 s) : 21362000, 21362000
. : milestone, 21362000,
section candidate
no_agent (20.405 s) : 20405000, 20405000
. : milestone, 20405000,
appsec (21.067 s) : 21067000, 21067000
. : milestone, 21067000,
iast (24.486 s) : 24486000, 24486000
. : milestone, 24486000,
iast_GLOBAL (25.108 s) : 25108000, 25108000
. : milestone, 25108000,
profiling (20.459 s) : 20459000, 20459000
. : milestone, 20459000,
tracing (20.833 s) : 20833000, 20833000
. : milestone, 20833000,
|
0b4c260 to
496e975
Compare
…es issues with Quarkus builds using GraalVM. Instead we use the Supplier API to keep the hostname lookup lazy while avoiding eager analysis of the Config class. Note we deliberately avoid using a method-reference to Config because that can also lead to unexpected resolution.
496e975 to
0eac170
Compare
luneo7
approved these changes
Aug 20, 2024
PerfectSlayer
approved these changes
Aug 21, 2024
Contributor
PerfectSlayer
left a comment
There was a problem hiding this comment.
Things start getting tricker and trickier 😓
Feel like there are so many pitfalls we will only discover late.
Contributor
Author
|
Not really, we just need to add a Quarkus-native smoke test - the error message pointed to the class that needed fixing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
Avoid hard-reference to
ConfiginRemoteHostnameAdderbecause it causes issues with Quarkus + GraalVM.Instead we use the
SupplierAPI to keep the hostname lookup lazy while avoiding eager analysis of theConfigclass.Note we deliberately avoid using a method-reference to
Configbecause that can also lead to unexpected resolution.Motivation
The
Configclass contains all configuration data after the point at which instrumentation is configured (configuration that affects which instrumentation is applied must go inInstrumenterConfigwhich ends up baked into the final native image.)Because we want to re-run
Configwhenever the native-image executes we must be careful not to refer to that type in certain types that get eagerly loaded during the native-image build. That's whyInstrumenterConfigexists, so code controlling what instrumentation is applied can refer to that and avoidConfig.