-
Notifications
You must be signed in to change notification settings - Fork 317
Provide a safe default stackwalker for non-hotspot JVMs #9930
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
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 10 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.052 s) : 0, 1052487
Total [baseline] (10.684 s) : 0, 10684045
Agent [candidate] (1.051 s) : 0, 1051445
Total [candidate] (10.685 s) : 0, 10684932
section appsec
Agent [baseline] (1.221 s) : 0, 1220628
Total [baseline] (10.951 s) : 0, 10951435
Agent [candidate] (1.223 s) : 0, 1222999
Total [candidate] (10.793 s) : 0, 10792932
section iast
Agent [baseline] (1.178 s) : 0, 1178169
Total [baseline] (11.182 s) : 0, 11182354
Agent [candidate] (1.196 s) : 0, 1196382
Total [candidate] (11.145 s) : 0, 11145295
section profiling
Agent [baseline] (1.189 s) : 0, 1189412
Total [baseline] (10.839 s) : 0, 10838933
Agent [candidate] (1.193 s) : 0, 1193132
Total [candidate] (10.875 s) : 0, 10875369
gantt
title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.466 ms) : 0, 1466
crashtracking [candidate] (1.482 ms) : 0, 1482
BytebuddyAgent [baseline] (709.536 ms) : 0, 709536
BytebuddyAgent [candidate] (709.332 ms) : 0, 709332
GlobalTracer [baseline] (245.891 ms) : 0, 245891
GlobalTracer [candidate] (245.682 ms) : 0, 245682
AppSec [baseline] (32.441 ms) : 0, 32441
AppSec [candidate] (32.36 ms) : 0, 32360
Debugger [baseline] (6.419 ms) : 0, 6419
Debugger [candidate] (6.375 ms) : 0, 6375
Remote Config [baseline] (717.587 µs) : 0, 718
Remote Config [candidate] (711.166 µs) : 0, 711
Telemetry [baseline] (12.347 ms) : 0, 12347
Telemetry [candidate] (14.907 ms) : 0, 14907
Flare Poller [baseline] (8.841 ms) : 0, 8841
Flare Poller [candidate] (5.768 ms) : 0, 5768
section appsec
crashtracking [baseline] (1.453 ms) : 0, 1453
crashtracking [candidate] (1.455 ms) : 0, 1455
BytebuddyAgent [baseline] (729.054 ms) : 0, 729054
BytebuddyAgent [candidate] (730.824 ms) : 0, 730824
GlobalTracer [baseline] (236.952 ms) : 0, 236952
GlobalTracer [candidate] (237.51 ms) : 0, 237510
AppSec [baseline] (174.21 ms) : 0, 174210
AppSec [candidate] (174.29 ms) : 0, 174290
Debugger [baseline] (6.016 ms) : 0, 6016
Debugger [candidate] (6.0 ms) : 0, 6000
Remote Config [baseline] (660.894 µs) : 0, 661
Remote Config [candidate] (653.439 µs) : 0, 653
Telemetry [baseline] (8.552 ms) : 0, 8552
Telemetry [candidate] (8.608 ms) : 0, 8608
Flare Poller [baseline] (4.024 ms) : 0, 4024
Flare Poller [candidate] (3.988 ms) : 0, 3988
IAST [baseline] (24.817 ms) : 0, 24817
IAST [candidate] (24.847 ms) : 0, 24847
section iast
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.494 ms) : 0, 1494
BytebuddyAgent [baseline] (827.178 ms) : 0, 827178
BytebuddyAgent [candidate] (841.444 ms) : 0, 841444
GlobalTracer [baseline] (234.567 ms) : 0, 234567
GlobalTracer [candidate] (236.928 ms) : 0, 236928
AppSec [baseline] (27.124 ms) : 0, 27124
AppSec [candidate] (29.204 ms) : 0, 29204
Debugger [baseline] (5.989 ms) : 0, 5989
Debugger [candidate] (6.085 ms) : 0, 6085
Remote Config [baseline] (598.7 µs) : 0, 599
Remote Config [candidate] (601.143 µs) : 0, 601
Telemetry [baseline] (8.362 ms) : 0, 8362
Telemetry [candidate] (8.559 ms) : 0, 8559
Flare Poller [baseline] (4.162 ms) : 0, 4162
Flare Poller [candidate] (4.144 ms) : 0, 4144
IAST [baseline] (33.98 ms) : 0, 33980
IAST [candidate] (32.876 ms) : 0, 32876
section profiling
ProfilingAgent [baseline] (109.949 ms) : 0, 109949
ProfilingAgent [candidate] (110.897 ms) : 0, 110897
crashtracking [baseline] (1.452 ms) : 0, 1452
crashtracking [candidate] (1.434 ms) : 0, 1434
BytebuddyAgent [baseline] (727.439 ms) : 0, 727439
BytebuddyAgent [candidate] (729.703 ms) : 0, 729703
GlobalTracer [baseline] (221.559 ms) : 0, 221559
GlobalTracer [candidate] (221.82 ms) : 0, 221820
AppSec [baseline] (31.982 ms) : 0, 31982
AppSec [candidate] (32.153 ms) : 0, 32153
Debugger [baseline] (7.477 ms) : 0, 7477
Debugger [candidate] (10.405 ms) : 0, 10405
Remote Config [baseline] (673.664 µs) : 0, 674
Remote Config [candidate] (674.682 µs) : 0, 675
Telemetry [baseline] (15.113 ms) : 0, 15113
Telemetry [candidate] (12.269 ms) : 0, 12269
Flare Poller [baseline] (4.095 ms) : 0, 4095
Flare Poller [candidate] (4.143 ms) : 0, 4143
Profiling [baseline] (110.617 ms) : 0, 110617
Profiling [candidate] (111.572 ms) : 0, 111572
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.048 s) : 0, 1048232
Total [baseline] (8.649 s) : 0, 8648713
Agent [candidate] (1.054 s) : 0, 1053744
Total [candidate] (8.62 s) : 0, 8619912
section iast
Agent [baseline] (1.187 s) : 0, 1186520
Total [baseline] (9.251 s) : 0, 9251481
Agent [candidate] (1.186 s) : 0, 1185805
Total [candidate] (9.235 s) : 0, 9235408
gantt
title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.469 ms) : 0, 1469
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (705.378 ms) : 0, 705378
BytebuddyAgent [candidate] (709.163 ms) : 0, 709163
GlobalTracer [baseline] (246.044 ms) : 0, 246044
GlobalTracer [candidate] (247.124 ms) : 0, 247124
AppSec [baseline] (32.537 ms) : 0, 32537
AppSec [candidate] (32.798 ms) : 0, 32798
Debugger [baseline] (6.424 ms) : 0, 6424
Debugger [candidate] (6.469 ms) : 0, 6469
Remote Config [baseline] (727.649 µs) : 0, 728
Remote Config [candidate] (719.226 µs) : 0, 719
Telemetry [baseline] (12.189 ms) : 0, 12189
Telemetry [candidate] (12.938 ms) : 0, 12938
Flare Poller [baseline] (8.775 ms) : 0, 8775
Flare Poller [candidate] (8.243 ms) : 0, 8243
section iast
crashtracking [baseline] (1.48 ms) : 0, 1480
crashtracking [candidate] (1.462 ms) : 0, 1462
BytebuddyAgent [baseline] (834.723 ms) : 0, 834723
BytebuddyAgent [candidate] (833.997 ms) : 0, 833997
GlobalTracer [baseline] (235.074 ms) : 0, 235074
GlobalTracer [candidate] (235.306 ms) : 0, 235306
IAST [baseline] (33.355 ms) : 0, 33355
IAST [candidate] (33.59 ms) : 0, 33590
AppSec [baseline] (27.758 ms) : 0, 27758
AppSec [candidate] (27.646 ms) : 0, 27646
Debugger [baseline] (6.049 ms) : 0, 6049
Debugger [candidate] (5.942 ms) : 0, 5942
Remote Config [baseline] (598.997 µs) : 0, 599
Remote Config [candidate] (593.124 µs) : 0, 593
Telemetry [baseline] (8.427 ms) : 0, 8427
Telemetry [candidate] (8.326 ms) : 0, 8326
Flare Poller [baseline] (4.168 ms) : 0, 4168
Flare Poller [candidate] (4.102 ms) : 0, 4102
LoadParameters
See matching parameters
SummaryFound 3 performance improvements and 1 performance regressions! Performance is the same for 17 metrics, 15 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section baseline
no_agent (18.805 ms) : 18618, 18992
. : milestone, 18805,
appsec (18.702 ms) : 18513, 18890
. : milestone, 18702,
code_origins (17.626 ms) : 17450, 17801
. : milestone, 17626,
iast (18.408 ms) : 18223, 18592
. : milestone, 18408,
profiling (20.68 ms) : 20475, 20886
. : milestone, 20680,
tracing (18.226 ms) : 18044, 18408
. : milestone, 18226,
section candidate
no_agent (18.131 ms) : 17948, 18314
. : milestone, 18131,
appsec (18.974 ms) : 18780, 19168
. : milestone, 18974,
code_origins (18.612 ms) : 18427, 18797
. : milestone, 18612,
iast (18.111 ms) : 17928, 18295
. : milestone, 18111,
profiling (18.631 ms) : 18440, 18823
. : milestone, 18631,
tracing (17.929 ms) : 17749, 18109
. : milestone, 17929,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section baseline
no_agent (1.206 ms) : 1193, 1218
. : milestone, 1206,
iast (3.261 ms) : 3215, 3306
. : milestone, 3261,
iast_FULL (5.831 ms) : 5772, 5891
. : milestone, 5831,
iast_GLOBAL (3.678 ms) : 3619, 3737
. : milestone, 3678,
profiling (1.999 ms) : 1981, 2017
. : milestone, 1999,
tracing (1.785 ms) : 1770, 1800
. : milestone, 1785,
section candidate
no_agent (1.202 ms) : 1190, 1214
. : milestone, 1202,
iast (3.245 ms) : 3201, 3289
. : milestone, 3245,
iast_FULL (5.715 ms) : 5657, 5773
. : milestone, 5715,
iast_GLOBAL (3.575 ms) : 3514, 3636
. : milestone, 3575,
profiling (2.02 ms) : 2003, 2037
. : milestone, 2020,
tracing (1.787 ms) : 1773, 1802
. : milestone, 1787,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 2 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section baseline
no_agent (1.474 ms) : 1462, 1485
. : milestone, 1474,
appsec (3.654 ms) : 3440, 3869
. : milestone, 3654,
iast (2.204 ms) : 2141, 2267
. : milestone, 2204,
iast_GLOBAL (2.247 ms) : 2184, 2311
. : milestone, 2247,
profiling (2.482 ms) : 2317, 2647
. : milestone, 2482,
tracing (2.02 ms) : 1972, 2069
. : milestone, 2020,
section candidate
no_agent (1.476 ms) : 1464, 1487
. : milestone, 1476,
appsec (3.643 ms) : 3430, 3856
. : milestone, 3643,
iast (2.197 ms) : 2135, 2260
. : milestone, 2197,
iast_GLOBAL (2.248 ms) : 2185, 2311
. : milestone, 2248,
profiling (2.037 ms) : 1987, 2088
. : milestone, 2037,
tracing (2.02 ms) : 1971, 2069
. : milestone, 2020,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~bd924bd3c0, baseline=1.56.0-SNAPSHOT~1397f25f48
dateFormat X
axisFormat %s
section baseline
no_agent (15.594 s) : 15594000, 15594000
. : milestone, 15594000,
appsec (15.029 s) : 15029000, 15029000
. : milestone, 15029000,
iast (18.431 s) : 18431000, 18431000
. : milestone, 18431000,
iast_GLOBAL (18.048 s) : 18048000, 18048000
. : milestone, 18048000,
profiling (14.947 s) : 14947000, 14947000
. : milestone, 14947000,
tracing (14.826 s) : 14826000, 14826000
. : milestone, 14826000,
section candidate
no_agent (15.588 s) : 15588000, 15588000
. : milestone, 15588000,
appsec (14.985 s) : 14985000, 14985000
. : milestone, 14985000,
iast (18.739 s) : 18739000, 18739000
. : milestone, 18739000,
iast_GLOBAL (17.79 s) : 17790000, 17790000
. : milestone, 17790000,
profiling (14.991 s) : 14991000, 14991000
. : milestone, 14991000,
tracing (14.937 s) : 14937000, 14937000
. : milestone, 14937000,
|
...iling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfilerConfig.java
Outdated
Show resolved
Hide resolved
|
🎯 Code Coverage 🔗 Commit SHA: bd924bd | Docs | Datadog PR Page | Was this helpful? Give us feedback! |
rkennke
left a comment
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.
Looks good, thanks!
| } | ||
|
|
||
| @ParameterizedTest | ||
| @MethodSource("zingStackwalkerTestCases") |
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.
Just a minor suggestion. I believe that @CsvSource would be a better choice here. More readable.
Here and similar places in this test.
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.
Ouch, I've just noticed that. Will do that as a followup ...
What Does This Do
It adds a code to 'sanitize' the 'cstack' profiler configuration in order to avoid unsupported usecases.
Motivation
Recently, we switched the default profiler stackwalker to 'cstack' - however, this is not supported by non-hotspot JVMs.
We need a decent fallback to avoid non-functioning profiler stackwalking.
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issue