-
Notifications
You must be signed in to change notification settings - Fork 278
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
Move snapshot UUID generation at serialization #7280
Conversation
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.
👍 Good idea, nice improvement!
Curious to see the benchmark results after this.
a2e2282
to
14cf31b
Compare
UUID generation is not cheap, and therefore should be performed only when the snapshot is about to be sent. Moving UUID generation at serialization time makes it out of the critical path.
14cf31b
to
692236f
Compare
Debugger benchmarksParameters
See matching parameters
SummaryFound 5 performance improvements and 0 performance regressions! Performance is the same for 4 metrics, 6 unstable metrics.
See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (297.295 µs) : 262, 333
. : milestone, 297,
basic (302.617 µs) : 293, 312
. : milestone, 303,
loop (12.382 ms) : 12341, 12423
. : milestone, 12382,
section candidate
noprobe (295.118 µs) : 255, 335
. : milestone, 295,
basic (304.307 µs) : 295, 313
. : milestone, 304,
loop (11.451 ms) : 11414, 11487
. : milestone, 11451,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 52 metrics, 11 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.073 s) : 0, 1073123
Total [baseline] (10.361 s) : 0, 10361064
Agent [candidate] (1.077 s) : 0, 1076856
Total [candidate] (10.379 s) : 0, 10378638
section appsec
Agent [baseline] (1.189 s) : 0, 1188797
Total [baseline] (10.518 s) : 0, 10518468
Agent [candidate] (1.189 s) : 0, 1188787
Total [candidate] (10.495 s) : 0, 10494702
section iast
Agent [baseline] (1.173 s) : 0, 1172557
Total [baseline] (10.678 s) : 0, 10677765
Agent [candidate] (1.17 s) : 0, 1170026
Total [candidate] (10.736 s) : 0, 10736407
section profiling
Agent [baseline] (1.281 s) : 0, 1280673
Total [baseline] (10.64 s) : 0, 10639585
Agent [candidate] (1.265 s) : 0, 1265145
Total [candidate] (10.609 s) : 0, 10609308
gantt
title petclinic - break down per module: candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (671.057 ms) : 0, 671057
BytebuddyAgent [candidate] (673.203 ms) : 0, 673203
GlobalTracer [baseline] (308.189 ms) : 0, 308189
GlobalTracer [candidate] (309.742 ms) : 0, 309742
AppSec [baseline] (50.49 ms) : 0, 50490
AppSec [candidate] (50.444 ms) : 0, 50444
Remote Config [baseline] (686.585 µs) : 0, 687
Remote Config [candidate] (738.677 µs) : 0, 739
Telemetry [baseline] (7.772 ms) : 0, 7772
Telemetry [candidate] (7.749 ms) : 0, 7749
section appsec
BytebuddyAgent [baseline] (681.043 ms) : 0, 681043
BytebuddyAgent [candidate] (678.817 ms) : 0, 678817
GlobalTracer [baseline] (300.423 ms) : 0, 300423
GlobalTracer [candidate] (301.59 ms) : 0, 301590
AppSec [baseline] (154.024 ms) : 0, 154024
AppSec [candidate] (154.318 ms) : 0, 154318
Remote Config [baseline] (623.718 µs) : 0, 624
Remote Config [candidate] (636.453 µs) : 0, 636
Telemetry [baseline] (7.695 ms) : 0, 7695
Telemetry [candidate] (8.727 ms) : 0, 8727
IAST [baseline] (20.298 ms) : 0, 20298
IAST [candidate] (19.876 ms) : 0, 19876
section iast
BytebuddyAgent [baseline] (781.079 ms) : 0, 781079
BytebuddyAgent [candidate] (779.048 ms) : 0, 779048
GlobalTracer [baseline] (295.437 ms) : 0, 295437
GlobalTracer [candidate] (295.084 ms) : 0, 295084
AppSec [baseline] (47.406 ms) : 0, 47406
AppSec [candidate] (46.945 ms) : 0, 46945
Remote Config [baseline] (561.969 µs) : 0, 562
Remote Config [candidate] (581.17 µs) : 0, 581
Telemetry [baseline] (6.944 ms) : 0, 6944
Telemetry [candidate] (7.684 ms) : 0, 7684
IAST [baseline] (27.606 ms) : 0, 27606
IAST [candidate] (27.151 ms) : 0, 27151
section profiling
BytebuddyAgent [baseline] (672.685 ms) : 0, 672685
BytebuddyAgent [candidate] (663.015 ms) : 0, 663015
GlobalTracer [baseline] (393.243 ms) : 0, 393243
GlobalTracer [candidate] (389.666 ms) : 0, 389666
AppSec [baseline] (51.984 ms) : 0, 51984
AppSec [candidate] (51.297 ms) : 0, 51297
Remote Config [baseline] (666.363 µs) : 0, 666
Remote Config [candidate] (676.669 µs) : 0, 677
Telemetry [baseline] (7.465 ms) : 0, 7465
Telemetry [candidate] (7.32 ms) : 0, 7320
ProfilingAgent [baseline] (96.537 ms) : 0, 96537
ProfilingAgent [candidate] (95.984 ms) : 0, 95984
Profiling [baseline] (96.561 ms) : 0, 96561
Profiling [candidate] (96.008 ms) : 0, 96008
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1066402
Total [baseline] (8.51 s) : 0, 8510460
Agent [candidate] (1.071 s) : 0, 1070718
Total [candidate] (8.506 s) : 0, 8506064
section iast
Agent [baseline] (1.181 s) : 0, 1180561
Total [baseline] (9.042 s) : 0, 9042200
Agent [candidate] (1.169 s) : 0, 1169332
Total [candidate] (8.971 s) : 0, 8970872
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.171 s) : 0, 1171490
Total [baseline] (8.91 s) : 0, 8910246
Agent [candidate] (1.18 s) : 0, 1179777
Total [candidate] (8.938 s) : 0, 8938319
section iast_TELEMETRY_OFF
Agent [baseline] (1.179 s) : 0, 1178544
Total [baseline] (8.994 s) : 0, 8993560
Agent [candidate] (1.171 s) : 0, 1170836
Total [candidate] (8.936 s) : 0, 8935602
gantt
title insecure-bank - break down per module: candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (667.143 ms) : 0, 667143
BytebuddyAgent [candidate] (670.646 ms) : 0, 670646
GlobalTracer [baseline] (306.44 ms) : 0, 306440
GlobalTracer [candidate] (307.005 ms) : 0, 307005
AppSec [baseline] (49.805 ms) : 0, 49805
AppSec [candidate] (49.969 ms) : 0, 49969
Remote Config [baseline] (666.772 µs) : 0, 667
Remote Config [candidate] (767.475 µs) : 0, 767
Telemetry [baseline] (7.59 ms) : 0, 7590
Telemetry [candidate] (7.541 ms) : 0, 7541
section iast
BytebuddyAgent [baseline] (786.576 ms) : 0, 786576
BytebuddyAgent [candidate] (779.117 ms) : 0, 779117
GlobalTracer [baseline] (298.78 ms) : 0, 298780
GlobalTracer [candidate] (295.042 ms) : 0, 295042
AppSec [baseline] (47.726 ms) : 0, 47726
AppSec [candidate] (48.115 ms) : 0, 48115
Remote Config [baseline] (599.398 µs) : 0, 599
Remote Config [candidate] (572.482 µs) : 0, 572
Telemetry [baseline] (7.202 ms) : 0, 7202
Telemetry [candidate] (6.953 ms) : 0, 6953
IAST [baseline] (26.12 ms) : 0, 26120
IAST [candidate] (26.069 ms) : 0, 26069
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (780.125 ms) : 0, 780125
BytebuddyAgent [candidate] (785.818 ms) : 0, 785818
GlobalTracer [baseline] (295.596 ms) : 0, 295596
GlobalTracer [candidate] (297.526 ms) : 0, 297526
AppSec [baseline] (47.115 ms) : 0, 47115
AppSec [candidate] (47.352 ms) : 0, 47352
Remote Config [baseline] (555.954 µs) : 0, 556
Remote Config [candidate] (571.885 µs) : 0, 572
Telemetry [baseline] (6.93 ms) : 0, 6930
Telemetry [candidate] (7.015 ms) : 0, 7015
IAST [baseline] (27.66 ms) : 0, 27660
IAST [candidate] (27.797 ms) : 0, 27797
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (784.142 ms) : 0, 784142
BytebuddyAgent [candidate] (781.449 ms) : 0, 781449
GlobalTracer [baseline] (297.459 ms) : 0, 297459
GlobalTracer [candidate] (294.719 ms) : 0, 294719
AppSec [baseline] (47.354 ms) : 0, 47354
AppSec [candidate] (46.471 ms) : 0, 46471
Remote Config [baseline] (597.572 µs) : 0, 598
Remote Config [candidate] (571.98 µs) : 0, 572
Telemetry [baseline] (8.322 ms) : 0, 8322
Telemetry [candidate] (6.766 ms) : 0, 6766
IAST [baseline] (27.06 ms) : 0, 27060
IAST [candidate] (27.27 ms) : 0, 27270
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section baseline
no_agent (364.663 µs) : 345, 384
. : milestone, 365,
iast (478.888 µs) : 458, 500
. : milestone, 479,
iast_FULL (545.263 µs) : 524, 566
. : milestone, 545,
iast_GLOBAL (498.842 µs) : 478, 520
. : milestone, 499,
iast_HARDCODED_SECRET_DISABLED (478.704 µs) : 458, 500
. : milestone, 479,
iast_INACTIVE (452.879 µs) : 431, 474
. : milestone, 453,
iast_TELEMETRY_OFF (464.808 µs) : 444, 486
. : milestone, 465,
tracing (443.386 µs) : 422, 465
. : milestone, 443,
section candidate
no_agent (364.38 µs) : 345, 384
. : milestone, 364,
iast (474.197 µs) : 453, 495
. : milestone, 474,
iast_FULL (540.69 µs) : 520, 562
. : milestone, 541,
iast_GLOBAL (515.956 µs) : 493, 539
. : milestone, 516,
iast_HARDCODED_SECRET_DISABLED (474.093 µs) : 453, 495
. : milestone, 474,
iast_INACTIVE (452.564 µs) : 431, 474
. : milestone, 453,
iast_TELEMETRY_OFF (474.483 µs) : 453, 496
. : milestone, 474,
tracing (438.631 µs) : 418, 459
. : milestone, 439,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section baseline
no_agent (1.349 ms) : 1329, 1369
. : milestone, 1349,
appsec (1.719 ms) : 1695, 1743
. : milestone, 1719,
appsec_no_iast (1.704 ms) : 1679, 1728
. : milestone, 1704,
iast (1.48 ms) : 1457, 1502
. : milestone, 1480,
profiling (1.495 ms) : 1471, 1518
. : milestone, 1495,
tracing (1.449 ms) : 1425, 1474
. : milestone, 1449,
section candidate
no_agent (1.317 ms) : 1298, 1336
. : milestone, 1317,
appsec (1.718 ms) : 1694, 1742
. : milestone, 1718,
appsec_no_iast (1.717 ms) : 1693, 1742
. : milestone, 1717,
iast (1.473 ms) : 1451, 1495
. : milestone, 1473,
profiling (1.512 ms) : 1487, 1538
. : milestone, 1512,
tracing (1.477 ms) : 1453, 1500
. : milestone, 1477,
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.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section baseline
no_agent (1.463 ms) : 1451, 1475
. : milestone, 1463,
appsec (2.21 ms) : 2175, 2245
. : milestone, 2210,
iast (1.978 ms) : 1936, 2019
. : milestone, 1978,
iast_GLOBAL (2.015 ms) : 1973, 2058
. : milestone, 2015,
profiling (1.863 ms) : 1829, 1898
. : milestone, 1863,
tracing (1.835 ms) : 1803, 1867
. : milestone, 1835,
section candidate
no_agent (1.459 ms) : 1447, 1470
. : milestone, 1459,
appsec (2.222 ms) : 2187, 2257
. : milestone, 2222,
iast (1.96 ms) : 1919, 2002
. : milestone, 1960,
iast_GLOBAL (2.016 ms) : 1974, 2058
. : milestone, 2016,
profiling (1.857 ms) : 1823, 1890
. : milestone, 1857,
tracing (1.835 ms) : 1802, 1868
. : milestone, 1835,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.38.0-SNAPSHOT~692236f00e, baseline=1.38.0-SNAPSHOT~23a8164e90
dateFormat X
axisFormat %s
section baseline
no_agent (15.369 s) : 15369000, 15369000
. : milestone, 15369000,
appsec (14.823 s) : 14823000, 14823000
. : milestone, 14823000,
iast (18.794 s) : 18794000, 18794000
. : milestone, 18794000,
iast_GLOBAL (17.926 s) : 17926000, 17926000
. : milestone, 17926000,
profiling (15.287 s) : 15287000, 15287000
. : milestone, 15287000,
tracing (14.86 s) : 14860000, 14860000
. : milestone, 14860000,
section candidate
no_agent (15.449 s) : 15449000, 15449000
. : milestone, 15449000,
appsec (14.812 s) : 14812000, 14812000
. : milestone, 14812000,
iast (18.864 s) : 18864000, 18864000
. : milestone, 18864000,
iast_GLOBAL (17.986 s) : 17986000, 17986000
. : milestone, 17986000,
profiling (15.421 s) : 15421000, 15421000
. : milestone, 15421000,
tracing (15.181 s) : 15181000, 15181000
. : milestone, 15181000,
|
What Does This Do
UUID generation is not cheap, and therefore should be performed only when the snapshot is about to be sent.
Moving UUID generation at seriazliation time makes it out of the critical path.
Motivation
Performance
Additional Notes
Jira ticket: DEBUG-2346