-
Notifications
You must be signed in to change notification settings - Fork 292
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
Improved stack trace reporting via telemetry #7632
Improved stack trace reporting via telemetry #7632
Conversation
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 petclinicgantt
title petclinic - global startup overhead: candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.073 s) : 0, 1072745
Total [baseline] (10.389 s) : 0, 10388591
Agent [candidate] (1.075 s) : 0, 1075136
Total [candidate] (10.489 s) : 0, 10489085
section appsec
Agent [baseline] (1.21 s) : 0, 1210028
Total [baseline] (10.646 s) : 0, 10646098
Agent [candidate] (1.207 s) : 0, 1207270
Total [candidate] (10.714 s) : 0, 10713536
section iast
Agent [baseline] (1.19 s) : 0, 1190305
Total [baseline] (10.861 s) : 0, 10861370
Agent [candidate] (1.194 s) : 0, 1194031
Total [candidate] (10.811 s) : 0, 10811320
section profiling
Agent [baseline] (1.273 s) : 0, 1273427
Total [baseline] (10.599 s) : 0, 10598860
Agent [candidate] (1.265 s) : 0, 1265033
Total [candidate] (10.564 s) : 0, 10564361
gantt
title petclinic - break down per module: candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (684.151 ms) : 0, 684151
BytebuddyAgent [candidate] (685.963 ms) : 0, 685963
GlobalTracer [baseline] (312.276 ms) : 0, 312276
GlobalTracer [candidate] (312.627 ms) : 0, 312627
AppSec [baseline] (54.195 ms) : 0, 54195
AppSec [candidate] (54.421 ms) : 0, 54421
Remote Config [baseline] (662.601 µs) : 0, 663
Remote Config [candidate] (661.648 µs) : 0, 662
Telemetry [baseline] (7.675 ms) : 0, 7675
Telemetry [candidate] (7.671 ms) : 0, 7671
section appsec
BytebuddyAgent [baseline] (707.046 ms) : 0, 707046
BytebuddyAgent [candidate] (705.616 ms) : 0, 705616
GlobalTracer [baseline] (305.302 ms) : 0, 305302
GlobalTracer [candidate] (304.763 ms) : 0, 304763
AppSec [baseline] (165.333 ms) : 0, 165333
AppSec [candidate] (163.797 ms) : 0, 163797
Remote Config [baseline] (645.19 µs) : 0, 645
Remote Config [candidate] (639.963 µs) : 0, 640
Telemetry [baseline] (8.174 ms) : 0, 8174
Telemetry [candidate] (8.503 ms) : 0, 8503
IAST [baseline] (19.583 ms) : 0, 19583
IAST [candidate] (20.515 ms) : 0, 20515
section iast
BytebuddyAgent [baseline] (791.554 ms) : 0, 791554
BytebuddyAgent [candidate] (794.052 ms) : 0, 794052
GlobalTracer [baseline] (298.743 ms) : 0, 298743
GlobalTracer [candidate] (299.119 ms) : 0, 299119
AppSec [baseline] (54.817 ms) : 0, 54817
AppSec [candidate] (53.822 ms) : 0, 53822
Remote Config [baseline] (585.154 µs) : 0, 585
Remote Config [candidate] (602.286 µs) : 0, 602
Telemetry [baseline] (7.297 ms) : 0, 7297
Telemetry [candidate] (7.365 ms) : 0, 7365
IAST [baseline] (23.643 ms) : 0, 23643
IAST [candidate] (25.341 ms) : 0, 25341
section profiling
ProfilingAgent [baseline] (96.513 ms) : 0, 96513
ProfilingAgent [candidate] (96.268 ms) : 0, 96268
BytebuddyAgent [baseline] (678.098 ms) : 0, 678098
BytebuddyAgent [candidate] (673.772 ms) : 0, 673772
GlobalTracer [baseline] (397.547 ms) : 0, 397547
GlobalTracer [candidate] (394.099 ms) : 0, 394099
AppSec [baseline] (54.688 ms) : 0, 54688
AppSec [candidate] (54.652 ms) : 0, 54652
Remote Config [baseline] (651.227 µs) : 0, 651
Remote Config [candidate] (641.734 µs) : 0, 642
Telemetry [baseline] (7.511 ms) : 0, 7511
Telemetry [candidate] (7.495 ms) : 0, 7495
Profiling [baseline] (96.536 ms) : 0, 96536
Profiling [candidate] (96.291 ms) : 0, 96291
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1064043
Total [baseline] (8.596 s) : 0, 8596487
Agent [candidate] (1.067 s) : 0, 1067036
Total [candidate] (8.55 s) : 0, 8549767
section iast
Agent [baseline] (1.21 s) : 0, 1209644
Total [baseline] (9.077 s) : 0, 9077397
Agent [candidate] (1.193 s) : 0, 1192596
Total [candidate] (9.008 s) : 0, 9007578
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.191 s) : 0, 1191120
Total [baseline] (9.012 s) : 0, 9011736
Agent [candidate] (1.209 s) : 0, 1209069
Total [candidate] (9.012 s) : 0, 9012168
section iast_TELEMETRY_OFF
Agent [baseline] (1.196 s) : 0, 1195680
Total [baseline] (9.053 s) : 0, 9053042
Agent [candidate] (1.189 s) : 0, 1189315
Total [candidate] (9.014 s) : 0, 9013708
gantt
title insecure-bank - break down per module: candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (678.514 ms) : 0, 678514
BytebuddyAgent [candidate] (679.707 ms) : 0, 679707
GlobalTracer [baseline] (309.855 ms) : 0, 309855
GlobalTracer [candidate] (311.61 ms) : 0, 311610
AppSec [baseline] (53.825 ms) : 0, 53825
AppSec [candidate] (53.768 ms) : 0, 53768
Remote Config [baseline] (661.348 µs) : 0, 661
Remote Config [candidate] (656.821 µs) : 0, 657
Telemetry [baseline] (7.542 ms) : 0, 7542
Telemetry [candidate] (7.636 ms) : 0, 7636
section iast
BytebuddyAgent [baseline] (805.37 ms) : 0, 805370
BytebuddyAgent [candidate] (793.314 ms) : 0, 793314
GlobalTracer [baseline] (302.652 ms) : 0, 302652
GlobalTracer [candidate] (299.291 ms) : 0, 299291
AppSec [baseline] (52.574 ms) : 0, 52574
AppSec [candidate] (56.489 ms) : 0, 56489
IAST [baseline] (27.126 ms) : 0, 27126
IAST [candidate] (21.845 ms) : 0, 21845
Remote Config [baseline] (626.271 µs) : 0, 626
Remote Config [candidate] (595.999 µs) : 0, 596
Telemetry [baseline] (7.412 ms) : 0, 7412
Telemetry [candidate] (7.328 ms) : 0, 7328
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (792.103 ms) : 0, 792103
BytebuddyAgent [candidate] (804.615 ms) : 0, 804615
GlobalTracer [baseline] (298.97 ms) : 0, 298970
GlobalTracer [candidate] (302.816 ms) : 0, 302816
AppSec [baseline] (54.772 ms) : 0, 54772
AppSec [candidate] (54.199 ms) : 0, 54199
IAST [baseline] (23.536 ms) : 0, 23536
IAST [candidate] (25.378 ms) : 0, 25378
Remote Config [baseline] (623.995 µs) : 0, 624
Remote Config [candidate] (654.78 µs) : 0, 655
Telemetry [baseline] (7.402 ms) : 0, 7402
Telemetry [candidate] (7.499 ms) : 0, 7499
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (794.377 ms) : 0, 794377
BytebuddyAgent [candidate] (790.665 ms) : 0, 790665
GlobalTracer [baseline] (301.128 ms) : 0, 301128
GlobalTracer [candidate] (299.384 ms) : 0, 299384
AppSec [baseline] (55.463 ms) : 0, 55463
AppSec [candidate] (54.227 ms) : 0, 54227
IAST [baseline] (23.202 ms) : 0, 23202
IAST [candidate] (21.772 ms) : 0, 21772
Remote Config [baseline] (600.819 µs) : 0, 601
Remote Config [candidate] (2.186 ms) : 0, 2186
Telemetry [baseline] (7.157 ms) : 0, 7157
Telemetry [candidate] (7.346 ms) : 0, 7346
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.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section baseline
no_agent (1.335 ms) : 1316, 1355
. : milestone, 1335,
appsec (1.728 ms) : 1704, 1752
. : milestone, 1728,
appsec_no_iast (1.711 ms) : 1687, 1735
. : milestone, 1711,
iast (1.484 ms) : 1462, 1506
. : milestone, 1484,
profiling (1.464 ms) : 1439, 1489
. : milestone, 1464,
tracing (1.479 ms) : 1455, 1502
. : milestone, 1479,
section candidate
no_agent (1.356 ms) : 1337, 1376
. : milestone, 1356,
appsec (1.704 ms) : 1680, 1728
. : milestone, 1704,
appsec_no_iast (1.718 ms) : 1694, 1743
. : milestone, 1718,
iast (1.492 ms) : 1470, 1515
. : milestone, 1492,
profiling (1.494 ms) : 1471, 1517
. : milestone, 1494,
tracing (1.487 ms) : 1463, 1511
. : milestone, 1487,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section baseline
no_agent (380.603 µs) : 360, 401
. : milestone, 381,
iast (493.115 µs) : 471, 515
. : milestone, 493,
iast_FULL (553.569 µs) : 532, 575
. : milestone, 554,
iast_GLOBAL (518.475 µs) : 496, 541
. : milestone, 518,
iast_HARDCODED_SECRET_DISABLED (494.925 µs) : 473, 516
. : milestone, 495,
iast_INACTIVE (450.446 µs) : 430, 471
. : milestone, 450,
iast_TELEMETRY_OFF (479.25 µs) : 457, 502
. : milestone, 479,
tracing (446.748 µs) : 426, 467
. : milestone, 447,
section candidate
no_agent (368.258 µs) : 349, 388
. : milestone, 368,
iast (495.204 µs) : 473, 517
. : milestone, 495,
iast_FULL (559.098 µs) : 537, 581
. : milestone, 559,
iast_GLOBAL (504.987 µs) : 483, 527
. : milestone, 505,
iast_HARDCODED_SECRET_DISABLED (470.745 µs) : 449, 493
. : milestone, 471,
iast_INACTIVE (450.223 µs) : 429, 471
. : milestone, 450,
iast_TELEMETRY_OFF (484.906 µs) : 463, 507
. : milestone, 485,
tracing (450.178 µs) : 430, 471
. : milestone, 450,
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 tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section baseline
no_agent (1.47 ms) : 1459, 1482
. : milestone, 1470,
appsec (2.317 ms) : 2276, 2358
. : milestone, 2317,
iast (2.068 ms) : 2016, 2119
. : milestone, 2068,
iast_GLOBAL (2.109 ms) : 2058, 2161
. : milestone, 2109,
profiling (2.385 ms) : 2193, 2578
. : milestone, 2385,
tracing (1.902 ms) : 1863, 1940
. : milestone, 1902,
section candidate
no_agent (1.463 ms) : 1451, 1474
. : milestone, 1463,
appsec (2.319 ms) : 2278, 2360
. : milestone, 2319,
iast (2.051 ms) : 2001, 2102
. : milestone, 2051,
iast_GLOBAL (2.107 ms) : 2055, 2159
. : milestone, 2107,
profiling (1.92 ms) : 1881, 1960
. : milestone, 1920,
tracing (1.899 ms) : 1861, 1937
. : milestone, 1899,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.40.0-SNAPSHOT~d5a2b32de1, baseline=1.40.0-SNAPSHOT~58679718b3
dateFormat X
axisFormat %s
section baseline
no_agent (15.124 s) : 15124000, 15124000
. : milestone, 15124000,
appsec (15.045 s) : 15045000, 15045000
. : milestone, 15045000,
iast (18.828 s) : 18828000, 18828000
. : milestone, 18828000,
iast_GLOBAL (17.863 s) : 17863000, 17863000
. : milestone, 17863000,
profiling (15.271 s) : 15271000, 15271000
. : milestone, 15271000,
tracing (15.24 s) : 15240000, 15240000
. : milestone, 15240000,
section candidate
no_agent (15.455 s) : 15455000, 15455000
. : milestone, 15455000,
appsec (15.245 s) : 15245000, 15245000
. : milestone, 15245000,
iast (18.73 s) : 18730000, 18730000
. : milestone, 18730000,
iast_GLOBAL (18.15 s) : 18150000, 18150000
. : milestone, 18150000,
profiling (15.458 s) : 15458000, 15458000
. : milestone, 15458000,
tracing (15.211 s) : 15211000, 15211000
. : milestone, 15211000,
|
0899f7b
to
db1cb8c
Compare
db1cb8c
to
7a6ae66
Compare
|
||
return result.toString(); | ||
} | ||
|
||
private static int countCommonFrames( |
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.
In the test, can we cover a few more cases? For example, when the nested exception has no frames in common with the parent, when all of them are common, etc. This looks like the kind of code where an off-by-one error will easily slip in, or where could get some unexpected textual representation in some cases.
* Improved stacktrace report via telemetry * Additional tests
What Does This Do
Added support for wrapped exceptions for error reporting via telemetry (including exceptions thrown from WAF).
Motivation
We encountered a difficulty while investigating a recent customer's issue. There was an error in the logs, but it only contained a top-level exception and it was completely unclear what the root cause of the exception was. For future cases, we have improved the error report so that it contains full information about all nested exceptions.
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]