trafficstars
What Does This Do
POC on refactor of product initialization.
Motivation
- Less reflection.
- Further encapsulation of the initialization logic of each product.
Additional Notes
- Only covered telemetry, AppSec, IAST.
- Jira ticket: APPSEC-5052
Benchmarks
Startup
Parameters
|
Baseline |
Candidate |
| baseline_or_candidate |
baseline |
candidate |
| git_branch |
master |
smola/subsystem-init-refactor |
| git_commit_date |
1701096865 |
1701106793 |
| git_commit_sha |
0f2d96f0b4 |
c72f8d3110 |
| release_version |
1.25.0-SNAPSHOT~0f2d96f0b4 |
1.25.0-SNAPSHOT~c72f8d3110 |
See matching parameters
|
Baseline |
Candidate |
| application |
insecure-bank |
insecure-bank |
| ci_job_date |
1701109484 |
1701109484 |
| ci_job_id |
376635194 |
376635194 |
| ci_pipeline_id |
23834950 |
23834950 |
| 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 45 metrics, 9 unstable metrics.
Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.25.0-SNAPSHOT~c72f8d3110, baseline=1.25.0-SNAPSHOT~0f2d96f0b4
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.035 s) : 0, 1034735
Total [baseline] (8.72 s) : 0, 8720021
Agent [candidate] (1.042 s) : 0, 1042216
Total [candidate] (8.742 s) : 0, 8741524
section iast
Agent [baseline] (1.154 s) : 0, 1154468
Total [baseline] (9.223 s) : 0, 9222522
Agent [candidate] (1.155 s) : 0, 1154653
Total [candidate] (9.243 s) : 0, 9243492
section iast_TELEMETRY_OFF
Agent [baseline] (1.154 s) : 0, 1154127
Total [baseline] (9.254 s) : 0, 9254395
Agent [candidate] (1.146 s) : 0, 1146121
Total [candidate] (9.247 s) : 0, 9247434
| Module |
Variant |
Duration |
Δ tracing |
| Agent |
tracing |
1.035 s |
- |
| Agent |
iast |
1.154 s |
119.732 ms (11.6%) |
| Agent |
iast_TELEMETRY_OFF |
1.154 s |
119.392 ms (11.5%) |
| Total |
tracing |
8.72 s |
- |
| Total |
iast |
9.223 s |
502.501 ms (5.8%) |
| Total |
iast_TELEMETRY_OFF |
9.254 s |
534.374 ms (6.1%) |
| Module |
Variant |
Duration |
Δ tracing |
| Agent |
tracing |
1.042 s |
- |
| Agent |
iast |
1.155 s |
112.437 ms (10.8%) |
| Agent |
iast_TELEMETRY_OFF |
1.146 s |
103.905 ms (10.0%) |
| Total |
tracing |
8.742 s |
- |
| Total |
iast |
9.243 s |
501.968 ms (5.7%) |
| Total |
iast_TELEMETRY_OFF |
9.247 s |
505.91 ms (5.8%) |
gantt
title insecure-bank - break down per module: candidate=1.25.0-SNAPSHOT~c72f8d3110, baseline=1.25.0-SNAPSHOT~0f2d96f0b4
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (645.202 ms) : 0, 645202
BytebuddyAgent [candidate] (650.084 ms) : 0, 650084
GlobalTracer [baseline] (298.079 ms) : 0, 298079
GlobalTracer [candidate] (300.099 ms) : 0, 300099
AppSec [baseline] (49.098 ms) : 0, 49098
AppSec [candidate] (49.015 ms) : 0, 49015
IAST [candidate] (496.196 µs) : 0, 496
Remote Config [baseline] (690.344 µs) : 0, 690
Remote Config [candidate] (673.869 µs) : 0, 674
Telemetry [baseline] (7.325 ms) : 0, 7325
Telemetry [candidate] (7.292 ms) : 0, 7292
section iast
BytebuddyAgent [baseline] (766.712 ms) : 0, 766712
BytebuddyAgent [candidate] (766.603 ms) : 0, 766603
GlobalTracer [baseline] (278.933 ms) : 0, 278933
GlobalTracer [candidate] (278.805 ms) : 0, 278805
AppSec [baseline] (48.251 ms) : 0, 48251
AppSec [candidate] (48.119 ms) : 0, 48119
IAST [baseline] (15.503 ms) : 0, 15503
IAST [candidate] (16.175 ms) : 0, 16175
Remote Config [baseline] (575.615 µs) : 0, 576
Remote Config [candidate] (575.684 µs) : 0, 576
Telemetry [baseline] (10.188 ms) : 0, 10188
Telemetry [candidate] (10.104 ms) : 0, 10104
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (764.974 ms) : 0, 764974
BytebuddyAgent [candidate] (758.854 ms) : 0, 758854
GlobalTracer [baseline] (280.479 ms) : 0, 280479
GlobalTracer [candidate] (279.065 ms) : 0, 279065
AppSec [baseline] (47.162 ms) : 0, 47162
AppSec [candidate] (46.632 ms) : 0, 46632
IAST [baseline] (19.36 ms) : 0, 19360
IAST [candidate] (17.366 ms) : 0, 17366
Remote Config [baseline] (556.645 µs) : 0, 557
Remote Config [candidate] (566.397 µs) : 0, 566
Telemetry [baseline] (7.086 ms) : 0, 7086
Telemetry [candidate] (9.211 ms) : 0, 9211
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.25.0-SNAPSHOT~c72f8d3110, baseline=1.25.0-SNAPSHOT~0f2d96f0b4
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.036 s) : 0, 1035775
Total [baseline] (9.319 s) : 0, 9318576
Agent [candidate] (1.042 s) : 0, 1042279
Total [candidate] (9.326 s) : 0, 9326460
section appsec
Agent [baseline] (1.122 s) : 0, 1122224
Total [baseline] (9.4 s) : 0, 9399517
Agent [candidate] (1.13 s) : 0, 1130487
Total [candidate] (9.432 s) : 0, 9431849
section iast
Agent [baseline] (1.153 s) : 0, 1152824
Total [baseline] (9.576 s) : 0, 9575535
Agent [candidate] (1.154 s) : 0, 1154189
Total [candidate] (9.541 s) : 0, 9540987
section profiling
Agent [baseline] (1.224 s) : 0, 1224285
Total [baseline] (9.616 s) : 0, 9615575
Agent [candidate] (1.235 s) : 0, 1234837
Total [candidate] (9.655 s) : 0, 9654833
| Module |
Variant |
Duration |
Δ tracing |
| Agent |
tracing |
1.036 s |
- |
| Agent |
appsec |
1.122 s |
86.449 ms (8.3%) |
| Agent |
iast |
1.153 s |
117.049 ms (11.3%) |
| Agent |
profiling |
1.224 s |
188.511 ms (18.2%) |
| Total |
tracing |
9.319 s |
- |
| Total |
appsec |
9.4 s |
80.941 ms (0.9%) |
| Total |
iast |
9.576 s |
256.959 ms (2.8%) |
| Total |
profiling |
9.616 s |
296.999 ms (3.2%) |
| Module |
Variant |
Duration |
Δ tracing |
| Agent |
tracing |
1.042 s |
- |
| Agent |
appsec |
1.13 s |
88.208 ms (8.5%) |
| Agent |
iast |
1.154 s |
111.91 ms (10.7%) |
| Agent |
profiling |
1.235 s |
192.559 ms (18.5%) |
| Total |
tracing |
9.326 s |
- |
| Total |
appsec |
9.432 s |
105.389 ms (1.1%) |
| Total |
iast |
9.541 s |
214.528 ms (2.3%) |
| Total |
profiling |
9.655 s |
328.373 ms (3.5%) |
gantt
title petclinic - break down per module: candidate=1.25.0-SNAPSHOT~c72f8d3110, baseline=1.25.0-SNAPSHOT~0f2d96f0b4
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (646.218 ms) : 0, 646218
BytebuddyAgent [candidate] (650.053 ms) : 0, 650053
GlobalTracer [baseline] (298.345 ms) : 0, 298345
GlobalTracer [candidate] (300.51 ms) : 0, 300510
AppSec [baseline] (48.805 ms) : 0, 48805
AppSec [candidate] (48.738 ms) : 0, 48738
IAST [candidate] (484.706 µs) : 0, 485
Remote Config [baseline] (685.07 µs) : 0, 685
Remote Config [candidate] (668.11 µs) : 0, 668
Telemetry [baseline] (7.331 ms) : 0, 7331
Telemetry [candidate] (7.262 ms) : 0, 7262
section appsec
BytebuddyAgent [baseline] (645.493 ms) : 0, 645493
BytebuddyAgent [candidate] (650.103 ms) : 0, 650103
GlobalTracer [baseline] (298.406 ms) : 0, 298406
GlobalTracer [candidate] (300.174 ms) : 0, 300174
AppSec [baseline] (136.541 ms) : 0, 136541
AppSec [candidate] (137.681 ms) : 0, 137681
IAST [candidate] (461.569 µs) : 0, 462
Remote Config [baseline] (641.356 µs) : 0, 641
Remote Config [candidate] (642.315 µs) : 0, 642
Telemetry [baseline] (6.821 ms) : 0, 6821
Telemetry [candidate] (6.944 ms) : 0, 6944
section iast
BytebuddyAgent [baseline] (766.129 ms) : 0, 766129
BytebuddyAgent [candidate] (766.113 ms) : 0, 766113
GlobalTracer [baseline] (278.862 ms) : 0, 278862
GlobalTracer [candidate] (278.844 ms) : 0, 278844
AppSec [baseline] (48.49 ms) : 0, 48490
AppSec [candidate] (48.764 ms) : 0, 48764
IAST [baseline] (14.779 ms) : 0, 14779
IAST [candidate] (16.856 ms) : 0, 16856
Remote Config [baseline] (594.872 µs) : 0, 595
Remote Config [candidate] (573.901 µs) : 0, 574
Telemetry [baseline] (9.587 ms) : 0, 9587
Telemetry [candidate] (8.685 ms) : 0, 8685
section profiling
BytebuddyAgent [baseline] (656.667 ms) : 0, 656667
BytebuddyAgent [candidate] (662.157 ms) : 0, 662157
GlobalTracer [baseline] (368.84 ms) : 0, 368840
GlobalTracer [candidate] (371.733 ms) : 0, 371733
AppSec [baseline] (48.505 ms) : 0, 48505
AppSec [candidate] (49.027 ms) : 0, 49027
IAST [candidate] (481.402 µs) : 0, 481
Remote Config [baseline] (707.83 µs) : 0, 708
Remote Config [candidate] (709.657 µs) : 0, 710
Telemetry [baseline] (7.415 ms) : 0, 7415
Telemetry [candidate] (7.432 ms) : 0, 7432
ProfilingAgent [baseline] (87.998 ms) : 0, 87998
ProfilingAgent [candidate] (88.643 ms) : 0, 88643
Profiling [baseline] (88.022 ms) : 0, 88022
Profiling [candidate] (88.667 ms) : 0, 88667
Load
Parameters
|
Baseline |
Candidate |
| baseline_or_candidate |
baseline |
candidate |
| end_time |
2023-11-27T18:03:59 |
2023-11-27T18:20:32 |
| git_branch |
master |
smola/subsystem-init-refactor |
| git_commit_date |
1701096865 |
1701106793 |
| git_commit_sha |
0f2d96f0b4 |
c72f8d3110 |
| release_version |
1.25.0-SNAPSHOT~0f2d96f0b4 |
1.25.0-SNAPSHOT~c72f8d3110 |
| start_time |
2023-11-27T18:03:46 |
2023-11-27T18:20:19 |
See matching parameters
|
Baseline |
Candidate |
| application |
insecure-bank |
insecure-bank |
| ci_job_date |
1701109484 |
1701109484 |
| ci_job_id |
376635194 |
376635194 |
| ci_pipeline_id |
23834950 |
23834950 |
| 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 8 metrics, 14 unstable metrics.
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.25.0-SNAPSHOT~c72f8d3110, baseline=1.25.0-SNAPSHOT~0f2d96f0b4
dateFormat X
axisFormat %s
section baseline
no_agent (368.333 µs) : 347, 390
. : milestone, 368,
iast (471.468 µs) : 451, 492
. : milestone, 471,
iast_FULL (532.587 µs) : 512, 553
. : milestone, 533,
iast_INACTIVE (439.403 µs) : 419, 460
. : milestone, 439,
iast_TELEMETRY_OFF (461.371 µs) : 441, 482
. : milestone, 461,
tracing (436.769 µs) : 416, 457
. : milestone, 437,
section candidate
no_agent (364.732 µs) : 345, 385
. : milestone, 365,
iast (468.856 µs) : 449, 489
. : milestone, 469,
iast_FULL (529.649 µs) : 509, 550
. : milestone, 530,
iast_INACTIVE (444.639 µs) : 424, 465
. : milestone, 445,
iast_TELEMETRY_OFF (467.593 µs) : 447, 489
. : milestone, 468,
tracing (439.387 µs) : 418, 460
. : milestone, 439,
| Variant |
Request duration [CI 0.99] |
Δ no_agent |
| no_agent |
368.333 µs [346.918 µs, 389.748 µs] |
- |
| iast |
471.468 µs [450.895 µs, 492.042 µs] |
103.135 µs (28.0%) |
| iast_FULL |
532.587 µs [512.175 µs, 552.998 µs] |
164.253 µs (44.6%) |
| iast_INACTIVE |
439.403 µs [419.271 µs, 459.536 µs] |
71.07 µs (19.3%) |
| iast_TELEMETRY_OFF |
461.371 µs [440.603 µs, 482.138 µs] |
93.037 µs (25.3%) |
| tracing |
436.769 µs [416.197 µs, 457.34 µs] |
68.435 µs (18.6%) |
| Variant |
Request duration [CI 0.99] |
Δ no_agent |
| no_agent |
364.732 µs [344.802 µs, 384.661 µs] |
- |
| iast |
468.856 µs [448.52 µs, 489.192 µs] |
104.124 µs (28.5%) |
| iast_FULL |
529.649 µs [509.321 µs, 549.977 µs] |
164.918 µs (45.2%) |
| iast_INACTIVE |
444.639 µs [423.867 µs, 465.411 µs] |
79.908 µs (21.9%) |
| iast_TELEMETRY_OFF |
467.593 µs [446.559 µs, 488.626 µs] |
102.861 µs (28.2%) |
| tracing |
439.387 µs [418.339 µs, 460.435 µs] |
74.656 µs (20.5%) |
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.25.0-SNAPSHOT~c72f8d3110, baseline=1.25.0-SNAPSHOT~0f2d96f0b4
dateFormat X
axisFormat %s
section baseline
no_agent (1.368 ms) : 1348, 1387
. : milestone, 1368,
appsec (1.771 ms) : 1746, 1796
. : milestone, 1771,
iast (1.496 ms) : 1471, 1520
. : milestone, 1496,
profiling (1.539 ms) : 1513, 1565
. : milestone, 1539,
tracing (1.497 ms) : 1472, 1521
. : milestone, 1497,
section candidate
no_agent (1.354 ms) : 1334, 1373
. : milestone, 1354,
appsec (1.733 ms) : 1707, 1758
. : milestone, 1733,
iast (1.533 ms) : 1509, 1558
. : milestone, 1533,
profiling (1.5 ms) : 1475, 1525
. : milestone, 1500,
tracing (1.515 ms) : 1490, 1539
. : milestone, 1515,
| Variant |
Request duration [CI 0.99] |
Δ no_agent |
| no_agent |
1.368 ms [1.348 ms, 1.387 ms] |
- |
| appsec |
1.771 ms [1.746 ms, 1.796 ms] |
403.294 µs (29.5%) |
| iast |
1.496 ms [1.471 ms, 1.52 ms] |
127.929 µs (9.4%) |
| profiling |
1.539 ms [1.513 ms, 1.565 ms] |
171.541 µs (12.5%) |
| tracing |
1.497 ms [1.472 ms, 1.521 ms] |
128.861 µs (9.4%) |
| Variant |
Request duration [CI 0.99] |
Δ no_agent |
| no_agent |
1.354 ms [1.334 ms, 1.373 ms] |
- |
| appsec |
1.733 ms [1.707 ms, 1.758 ms] |
378.874 µs (28.0%) |
| iast |
1.533 ms [1.509 ms, 1.558 ms] |
179.742 µs (13.3%) |
| profiling |
1.5 ms [1.475 ms, 1.525 ms] |
146.293 µs (10.8%) |
| tracing |
1.515 ms [1.49 ms, 1.539 ms] |
161.159 µs (11.9%) |