-
Notifications
You must be signed in to change notification settings - Fork 290
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
Add coordinated sampling for Exception Debugging #6974
Conversation
if the first stack level generates a snapshot after sampling we keep continuing to generate snapshot for next levels by forcing sampling (not calling the sampler). For each evaluation of exception probe we query the state by throwable instance and based on this state (list of snapshots) we take the decision keep sampling or drop)
0604e84
to
dabdaa7
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 50 metrics, 13 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.076 s) : 0, 1075828
Total [baseline] (8.564 s) : 0, 8563800
Agent [candidate] (1.076 s) : 0, 1076363
Total [candidate] (8.548 s) : 0, 8548402
section iast
Agent [baseline] (1.2 s) : 0, 1200159
Total [baseline] (9.025 s) : 0, 9024803
Agent [candidate] (1.206 s) : 0, 1205618
Total [candidate] (9.047 s) : 0, 9046847
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.199 s) : 0, 1198614
Total [baseline] (8.972 s) : 0, 8972106
Agent [candidate] (1.198 s) : 0, 1198371
Total [candidate] (8.943 s) : 0, 8943214
section iast_TELEMETRY_OFF
Agent [baseline] (1.204 s) : 0, 1203690
Total [baseline] (9.032 s) : 0, 9032387
Agent [candidate] (1.196 s) : 0, 1196436
Total [candidate] (8.996 s) : 0, 8995909
gantt
title insecure-bank - break down per module: candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (673.897 ms) : 0, 673897
BytebuddyAgent [candidate] (674.643 ms) : 0, 674643
GlobalTracer [baseline] (309.808 ms) : 0, 309808
GlobalTracer [candidate] (309.585 ms) : 0, 309585
AppSec [baseline] (49.539 ms) : 0, 49539
AppSec [candidate] (49.545 ms) : 0, 49545
Remote Config [baseline] (661.092 µs) : 0, 661
Remote Config [candidate] (662.84 µs) : 0, 663
Telemetry [baseline] (7.557 ms) : 0, 7557
Telemetry [candidate] (7.623 ms) : 0, 7623
section iast
BytebuddyAgent [baseline] (794.652 ms) : 0, 794652
BytebuddyAgent [candidate] (798.997 ms) : 0, 798997
GlobalTracer [baseline] (288.417 ms) : 0, 288417
GlobalTracer [candidate] (289.363 ms) : 0, 289363
AppSec [baseline] (49.035 ms) : 0, 49035
AppSec [candidate] (51.268 ms) : 0, 51268
IAST [baseline] (26.481 ms) : 0, 26481
IAST [candidate] (23.506 ms) : 0, 23506
Remote Config [baseline] (596.655 µs) : 0, 597
Remote Config [candidate] (1.259 ms) : 0, 1259
Telemetry [baseline] (6.665 ms) : 0, 6665
Telemetry [candidate] (6.666 ms) : 0, 6666
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (793.692 ms) : 0, 793692
BytebuddyAgent [candidate] (793.646 ms) : 0, 793646
GlobalTracer [baseline] (288.086 ms) : 0, 288086
GlobalTracer [candidate] (287.652 ms) : 0, 287652
AppSec [baseline] (52.191 ms) : 0, 52191
AppSec [candidate] (51.37 ms) : 0, 51370
IAST [baseline] (23.163 ms) : 0, 23163
IAST [candidate] (24.121 ms) : 0, 24121
Remote Config [baseline] (562.821 µs) : 0, 563
Remote Config [candidate] (643.992 µs) : 0, 644
Telemetry [baseline] (6.633 ms) : 0, 6633
Telemetry [candidate] (6.594 ms) : 0, 6594
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (796.518 ms) : 0, 796518
BytebuddyAgent [candidate] (792.083 ms) : 0, 792083
GlobalTracer [baseline] (290.047 ms) : 0, 290047
GlobalTracer [candidate] (287.944 ms) : 0, 287944
AppSec [baseline] (51.464 ms) : 0, 51464
AppSec [candidate] (49.751 ms) : 0, 49751
IAST [baseline] (23.096 ms) : 0, 23096
IAST [candidate] (23.661 ms) : 0, 23661
Remote Config [baseline] (581.244 µs) : 0, 581
Remote Config [candidate] (574.561 µs) : 0, 575
Telemetry [baseline] (7.363 ms) : 0, 7363
Telemetry [candidate] (7.287 ms) : 0, 7287
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.078 s) : 0, 1077759
Total [baseline] (10.377 s) : 0, 10376735
Agent [candidate] (1.081 s) : 0, 1080889
Total [candidate] (10.428 s) : 0, 10428324
section appsec
Agent [baseline] (1.193 s) : 0, 1192803
Total [baseline] (10.469 s) : 0, 10468826
Agent [candidate] (1.188 s) : 0, 1188411
Total [candidate] (10.436 s) : 0, 10435859
section iast
Agent [baseline] (1.2 s) : 0, 1199543
Total [baseline] (10.75 s) : 0, 10750473
Agent [candidate] (1.198 s) : 0, 1197760
Total [candidate] (10.739 s) : 0, 10738623
section profiling
Agent [baseline] (1.274 s) : 0, 1274464
Total [baseline] (10.593 s) : 0, 10592724
Agent [candidate] (1.268 s) : 0, 1268306
Total [candidate] (10.606 s) : 0, 10606028
gantt
title petclinic - break down per module: candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (674.936 ms) : 0, 674936
BytebuddyAgent [candidate] (678.558 ms) : 0, 678558
GlobalTracer [baseline] (310.401 ms) : 0, 310401
GlobalTracer [candidate] (309.914 ms) : 0, 309914
AppSec [baseline] (49.741 ms) : 0, 49741
AppSec [candidate] (49.49 ms) : 0, 49490
Remote Config [baseline] (656.365 µs) : 0, 656
Remote Config [candidate] (664.212 µs) : 0, 664
Telemetry [baseline] (7.589 ms) : 0, 7589
Telemetry [candidate] (7.628 ms) : 0, 7628
section appsec
BytebuddyAgent [baseline] (697.2 ms) : 0, 697200
BytebuddyAgent [candidate] (695.137 ms) : 0, 695137
GlobalTracer [baseline] (292.434 ms) : 0, 292434
GlobalTracer [candidate] (291.203 ms) : 0, 291203
AppSec [baseline] (149.674 ms) : 0, 149674
AppSec [candidate] (149.062 ms) : 0, 149062
Remote Config [baseline] (622.3 µs) : 0, 622
Remote Config [candidate] (615.593 µs) : 0, 616
Telemetry [baseline] (8.785 ms) : 0, 8785
Telemetry [candidate] (8.492 ms) : 0, 8492
IAST [baseline] (19.358 ms) : 0, 19358
IAST [candidate] (19.19 ms) : 0, 19190
section iast
BytebuddyAgent [baseline] (795.24 ms) : 0, 795240
BytebuddyAgent [candidate] (792.958 ms) : 0, 792958
GlobalTracer [baseline] (288.329 ms) : 0, 288329
GlobalTracer [candidate] (287.942 ms) : 0, 287942
AppSec [baseline] (50.697 ms) : 0, 50697
AppSec [candidate] (50.946 ms) : 0, 50946
Remote Config [baseline] (2.188 ms) : 0, 2188
Remote Config [candidate] (578.632 µs) : 0, 579
Telemetry [baseline] (6.711 ms) : 0, 6711
Telemetry [candidate] (6.717 ms) : 0, 6717
IAST [baseline] (22.011 ms) : 0, 22011
IAST [candidate] (24.356 ms) : 0, 24356
section profiling
BytebuddyAgent [baseline] (681.326 ms) : 0, 681326
BytebuddyAgent [candidate] (677.751 ms) : 0, 677751
GlobalTracer [baseline] (381.661 ms) : 0, 381661
GlobalTracer [candidate] (380.382 ms) : 0, 380382
AppSec [baseline] (50.148 ms) : 0, 50148
AppSec [candidate] (50.223 ms) : 0, 50223
Remote Config [baseline] (721.265 µs) : 0, 721
Remote Config [candidate] (716.034 µs) : 0, 716
Telemetry [baseline] (7.569 ms) : 0, 7569
Telemetry [candidate] (7.509 ms) : 0, 7509
ProfilingAgent [baseline] (96.282 ms) : 0, 96282
ProfilingAgent [candidate] (95.414 ms) : 0, 95414
Profiling [baseline] (96.306 ms) : 0, 96306
Profiling [candidate] (95.438 ms) : 0, 95438
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 13 metrics, 15 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section baseline
no_agent (1.344 ms) : 1323, 1364
. : milestone, 1344,
appsec (1.706 ms) : 1682, 1731
. : milestone, 1706,
appsec_no_iast (1.725 ms) : 1700, 1751
. : milestone, 1725,
iast (1.482 ms) : 1459, 1505
. : milestone, 1482,
profiling (1.517 ms) : 1491, 1543
. : milestone, 1517,
tracing (1.479 ms) : 1454, 1504
. : milestone, 1479,
section candidate
no_agent (1.346 ms) : 1326, 1365
. : milestone, 1346,
appsec (1.717 ms) : 1693, 1742
. : milestone, 1717,
appsec_no_iast (1.728 ms) : 1702, 1753
. : milestone, 1728,
iast (1.489 ms) : 1466, 1512
. : milestone, 1489,
profiling (1.48 ms) : 1455, 1504
. : milestone, 1480,
tracing (1.494 ms) : 1470, 1517
. : milestone, 1494,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section baseline
no_agent (369.514 µs) : 350, 389
. : milestone, 370,
iast (478.186 µs) : 458, 499
. : milestone, 478,
iast_FULL (549.424 µs) : 529, 570
. : milestone, 549,
iast_GLOBAL (507.841 µs) : 485, 530
. : milestone, 508,
iast_HARDCODED_SECRET_DISABLED (479.972 µs) : 458, 502
. : milestone, 480,
iast_INACTIVE (455.187 µs) : 434, 476
. : milestone, 455,
iast_TELEMETRY_OFF (469.365 µs) : 448, 490
. : milestone, 469,
tracing (448.51 µs) : 428, 469
. : milestone, 449,
section candidate
no_agent (370.897 µs) : 351, 390
. : milestone, 371,
iast (468.247 µs) : 448, 489
. : milestone, 468,
iast_FULL (537.602 µs) : 516, 559
. : milestone, 538,
iast_GLOBAL (497.264 µs) : 477, 518
. : milestone, 497,
iast_HARDCODED_SECRET_DISABLED (474.365 µs) : 453, 496
. : milestone, 474,
iast_INACTIVE (449.274 µs) : 428, 470
. : milestone, 449,
iast_TELEMETRY_OFF (469.847 µs) : 449, 491
. : milestone, 470,
tracing (447.046 µs) : 427, 468
. : milestone, 447,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section baseline
no_agent (15.389 s) : 15389000, 15389000
. : milestone, 15389000,
appsec (15.13 s) : 15130000, 15130000
. : milestone, 15130000,
iast (18.849 s) : 18849000, 18849000
. : milestone, 18849000,
iast_GLOBAL (17.897 s) : 17897000, 17897000
. : milestone, 17897000,
profiling (15.284 s) : 15284000, 15284000
. : milestone, 15284000,
tracing (14.848 s) : 14848000, 14848000
. : milestone, 14848000,
section candidate
no_agent (15.136 s) : 15136000, 15136000
. : milestone, 15136000,
appsec (15.004 s) : 15004000, 15004000
. : milestone, 15004000,
iast (18.985 s) : 18985000, 18985000
. : milestone, 18985000,
iast_GLOBAL (17.808 s) : 17808000, 17808000
. : milestone, 17808000,
profiling (15.044 s) : 15044000, 15044000
. : milestone, 15044000,
tracing (15.109 s) : 15109000, 15109000
. : milestone, 15109000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.34.0-SNAPSHOT~dabdaa736a, baseline=1.34.0-SNAPSHOT~2b0502cacf
dateFormat X
axisFormat %s
section baseline
no_agent (1.456 ms) : 1444, 1467
. : milestone, 1456,
appsec (2.182 ms) : 2148, 2216
. : milestone, 2182,
iast (1.865 ms) : 1831, 1900
. : milestone, 1865,
iast_GLOBAL (1.914 ms) : 1879, 1950
. : milestone, 1914,
profiling (1.84 ms) : 1806, 1874
. : milestone, 1840,
tracing (1.821 ms) : 1789, 1853
. : milestone, 1821,
section candidate
no_agent (1.455 ms) : 1444, 1466
. : milestone, 1455,
appsec (2.192 ms) : 2158, 2226
. : milestone, 2192,
iast (1.878 ms) : 1842, 1913
. : milestone, 1878,
iast_GLOBAL (1.916 ms) : 1880, 1952
. : milestone, 1916,
profiling (1.822 ms) : 1789, 1856
. : milestone, 1822,
tracing (1.825 ms) : 1793, 1857
. : milestone, 1825,
|
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.
Thanks 👍
What Does This Do
if the first stack level generates a snapshot after sampling
we keep continuing to generate snapshot for next levels by forcing
sampling (not calling the sampler).
For each evaluation of exception probe we query the state by throwable
instance and based on this state (list of snapshots) we take the
decision keep sampling or drop)
Motivation
Having complete stacks with all snpashots without depending on the sampling for each stack level
Additional Notes
Jira ticket: DEBUG-2068