Add processor context for hotspot crash tracking#10867
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 63 metrics, 8 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1057464
Total [baseline] (8.837 s) : 0, 8837379
Agent [candidate] (1.056 s) : 0, 1055837
Total [candidate] (8.852 s) : 0, 8851542
section iast
Agent [baseline] (1.226 s) : 0, 1226367
Total [baseline] (9.537 s) : 0, 9537276
Agent [candidate] (1.238 s) : 0, 1237556
Total [candidate] (9.556 s) : 0, 9555769
gantt
title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.18 ms) : 0, 1180
BytebuddyAgent [baseline] (630.007 ms) : 0, 630007
BytebuddyAgent [candidate] (628.493 ms) : 0, 628493
AgentMeter [baseline] (29.098 ms) : 0, 29098
AgentMeter [candidate] (29.196 ms) : 0, 29196
GlobalTracer [baseline] (257.172 ms) : 0, 257172
GlobalTracer [candidate] (256.958 ms) : 0, 256958
AppSec [baseline] (31.641 ms) : 0, 31641
AppSec [candidate] (31.765 ms) : 0, 31765
Debugger [baseline] (59.525 ms) : 0, 59525
Debugger [candidate] (59.257 ms) : 0, 59257
Remote Config [baseline] (582.562 µs) : 0, 583
Remote Config [candidate] (580.656 µs) : 0, 581
Telemetry [baseline] (8.722 ms) : 0, 8722
Telemetry [candidate] (8.858 ms) : 0, 8858
Flare Poller [baseline] (3.521 ms) : 0, 3521
Flare Poller [candidate] (3.531 ms) : 0, 3531
section iast
crashtracking [baseline] (1.213 ms) : 0, 1213
crashtracking [candidate] (1.198 ms) : 0, 1198
BytebuddyAgent [baseline] (796.186 ms) : 0, 796186
BytebuddyAgent [candidate] (804.207 ms) : 0, 804207
AgentMeter [baseline] (11.302 ms) : 0, 11302
AgentMeter [candidate] (11.619 ms) : 0, 11619
GlobalTracer [baseline] (247.016 ms) : 0, 247016
GlobalTracer [candidate] (248.715 ms) : 0, 248715
IAST [baseline] (25.245 ms) : 0, 25245
IAST [candidate] (25.549 ms) : 0, 25549
AppSec [baseline] (26.419 ms) : 0, 26419
AppSec [candidate] (26.793 ms) : 0, 26793
Debugger [baseline] (68.569 ms) : 0, 68569
Debugger [candidate] (69.582 ms) : 0, 69582
Remote Config [baseline] (522.723 µs) : 0, 523
Remote Config [candidate] (529.384 µs) : 0, 529
Telemetry [baseline] (10.254 ms) : 0, 10254
Telemetry [candidate] (9.697 ms) : 0, 9697
Flare Poller [baseline] (3.658 ms) : 0, 3658
Flare Poller [candidate] (3.459 ms) : 0, 3459
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.058 s) : 0, 1057696
Total [baseline] (11.134 s) : 0, 11134246
Agent [candidate] (1.058 s) : 0, 1057555
Total [candidate] (11.136 s) : 0, 11135836
section appsec
Agent [baseline] (1.246 s) : 0, 1245868
Total [baseline] (11.14 s) : 0, 11139687
Agent [candidate] (1.245 s) : 0, 1244656
Total [candidate] (11.117 s) : 0, 11117377
section iast
Agent [baseline] (1.237 s) : 0, 1236763
Total [baseline] (11.294 s) : 0, 11294123
Agent [candidate] (1.228 s) : 0, 1227507
Total [candidate] (11.313 s) : 0, 11313084
section profiling
Agent [baseline] (1.184 s) : 0, 1183901
Total [baseline] (11.057 s) : 0, 11056811
Agent [candidate] (1.179 s) : 0, 1178958
Total [candidate] (10.93 s) : 0, 10929773
gantt
title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.192 ms) : 0, 1192
crashtracking [candidate] (1.193 ms) : 0, 1193
BytebuddyAgent [baseline] (628.884 ms) : 0, 628884
BytebuddyAgent [candidate] (629.494 ms) : 0, 629494
AgentMeter [baseline] (29.291 ms) : 0, 29291
AgentMeter [candidate] (29.231 ms) : 0, 29231
GlobalTracer [baseline] (257.379 ms) : 0, 257379
GlobalTracer [candidate] (257.47 ms) : 0, 257470
AppSec [baseline] (31.764 ms) : 0, 31764
AppSec [candidate] (31.657 ms) : 0, 31657
Debugger [baseline] (60.307 ms) : 0, 60307
Debugger [candidate] (60.398 ms) : 0, 60398
Remote Config [baseline] (583.14 µs) : 0, 583
Remote Config [candidate] (601.875 µs) : 0, 602
Telemetry [baseline] (8.752 ms) : 0, 8752
Telemetry [candidate] (8.045 ms) : 0, 8045
Flare Poller [baseline] (3.562 ms) : 0, 3562
Flare Poller [candidate] (3.51 ms) : 0, 3510
section appsec
crashtracking [baseline] (1.227 ms) : 0, 1227
crashtracking [candidate] (1.182 ms) : 0, 1182
BytebuddyAgent [baseline] (657.708 ms) : 0, 657708
BytebuddyAgent [candidate] (657.592 ms) : 0, 657592
AgentMeter [baseline] (12.018 ms) : 0, 12018
AgentMeter [candidate] (11.989 ms) : 0, 11989
GlobalTracer [baseline] (257.841 ms) : 0, 257841
GlobalTracer [candidate] (257.715 ms) : 0, 257715
IAST [baseline] (24.165 ms) : 0, 24165
IAST [candidate] (24.097 ms) : 0, 24097
AppSec [baseline] (177.659 ms) : 0, 177659
AppSec [candidate] (177.259 ms) : 0, 177259
Debugger [baseline] (66.456 ms) : 0, 66456
Debugger [candidate] (66.147 ms) : 0, 66147
Remote Config [baseline] (618.16 µs) : 0, 618
Remote Config [candidate] (615.585 µs) : 0, 616
Telemetry [baseline] (8.339 ms) : 0, 8339
Telemetry [candidate] (8.305 ms) : 0, 8305
Flare Poller [baseline] (3.639 ms) : 0, 3639
Flare Poller [candidate] (3.599 ms) : 0, 3599
section iast
crashtracking [baseline] (1.194 ms) : 0, 1194
crashtracking [candidate] (1.187 ms) : 0, 1187
BytebuddyAgent [baseline] (801.957 ms) : 0, 801957
BytebuddyAgent [candidate] (796.651 ms) : 0, 796651
AgentMeter [baseline] (11.404 ms) : 0, 11404
AgentMeter [candidate] (11.315 ms) : 0, 11315
GlobalTracer [baseline] (249.453 ms) : 0, 249453
GlobalTracer [candidate] (247.297 ms) : 0, 247297
IAST [baseline] (25.598 ms) : 0, 25598
IAST [candidate] (25.252 ms) : 0, 25252
AppSec [baseline] (27.751 ms) : 0, 27751
AppSec [candidate] (26.467 ms) : 0, 26467
Debugger [baseline] (70.222 ms) : 0, 70222
Debugger [candidate] (70.352 ms) : 0, 70352
Remote Config [baseline] (534.633 µs) : 0, 535
Remote Config [candidate] (531.053 µs) : 0, 531
Telemetry [baseline] (9.251 ms) : 0, 9251
Telemetry [candidate] (9.158 ms) : 0, 9158
Flare Poller [baseline] (3.358 ms) : 0, 3358
Flare Poller [candidate] (3.321 ms) : 0, 3321
section profiling
crashtracking [baseline] (1.174 ms) : 0, 1174
crashtracking [candidate] (1.171 ms) : 0, 1171
BytebuddyAgent [baseline] (682.747 ms) : 0, 682747
BytebuddyAgent [candidate] (681.197 ms) : 0, 681197
AgentMeter [baseline] (8.675 ms) : 0, 8675
AgentMeter [candidate] (8.662 ms) : 0, 8662
GlobalTracer [baseline] (215.896 ms) : 0, 215896
GlobalTracer [candidate] (214.709 ms) : 0, 214709
AppSec [baseline] (32.279 ms) : 0, 32279
AppSec [candidate] (32.012 ms) : 0, 32012
Debugger [baseline] (63.905 ms) : 0, 63905
Debugger [candidate] (62.464 ms) : 0, 62464
Remote Config [baseline] (573.933 µs) : 0, 574
Remote Config [candidate] (573.077 µs) : 0, 573
Telemetry [baseline] (10.042 ms) : 0, 10042
Telemetry [candidate] (10.822 ms) : 0, 10822
Flare Poller [baseline] (3.538 ms) : 0, 3538
Flare Poller [candidate] (3.475 ms) : 0, 3475
ProfilingAgent [baseline] (94.31 ms) : 0, 94310
ProfilingAgent [candidate] (93.266 ms) : 0, 93266
Profiling [baseline] (94.884 ms) : 0, 94884
Profiling [candidate] (93.812 ms) : 0, 93812
LoadParameters
See matching parameters
SummaryFound 5 performance improvements and 3 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section baseline
no_agent (19.162 ms) : 18970, 19355
. : milestone, 19162,
appsec (18.922 ms) : 18728, 19117
. : milestone, 18922,
code_origins (17.944 ms) : 17763, 18124
. : milestone, 17944,
iast (17.922 ms) : 17740, 18103
. : milestone, 17922,
profiling (18.7 ms) : 18513, 18886
. : milestone, 18700,
tracing (17.945 ms) : 17764, 18125
. : milestone, 17945,
section candidate
no_agent (17.954 ms) : 17768, 18141
. : milestone, 17954,
appsec (19.887 ms) : 19682, 20092
. : milestone, 19887,
code_origins (18.598 ms) : 18409, 18787
. : milestone, 18598,
iast (17.8 ms) : 17622, 17977
. : milestone, 17800,
profiling (18.731 ms) : 18547, 18915
. : milestone, 18731,
tracing (19.109 ms) : 18916, 19302
. : milestone, 19109,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section baseline
no_agent (1.168 ms) : 1157, 1179
. : milestone, 1168,
iast (3.189 ms) : 3145, 3232
. : milestone, 3189,
iast_FULL (6.226 ms) : 6162, 6290
. : milestone, 6226,
iast_GLOBAL (3.761 ms) : 3700, 3822
. : milestone, 3761,
profiling (2.271 ms) : 2247, 2296
. : milestone, 2271,
tracing (1.825 ms) : 1810, 1840
. : milestone, 1825,
section candidate
no_agent (1.181 ms) : 1170, 1192
. : milestone, 1181,
iast (3.252 ms) : 3208, 3296
. : milestone, 3252,
iast_FULL (5.618 ms) : 5563, 5674
. : milestone, 5618,
iast_GLOBAL (3.569 ms) : 3521, 3618
. : milestone, 3569,
profiling (2.001 ms) : 1984, 2018
. : milestone, 2001,
tracing (1.782 ms) : 1768, 1797
. : milestone, 1782,
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.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section baseline
no_agent (1.472 ms) : 1461, 1483
. : milestone, 1472,
appsec (2.571 ms) : 2514, 2629
. : milestone, 2571,
iast (2.254 ms) : 2185, 2323
. : milestone, 2254,
iast_GLOBAL (2.306 ms) : 2237, 2376
. : milestone, 2306,
profiling (2.09 ms) : 2035, 2145
. : milestone, 2090,
tracing (2.053 ms) : 2000, 2107
. : milestone, 2053,
section candidate
no_agent (1.472 ms) : 1460, 1484
. : milestone, 1472,
appsec (2.511 ms) : 2457, 2566
. : milestone, 2511,
iast (2.257 ms) : 2187, 2327
. : milestone, 2257,
iast_GLOBAL (2.296 ms) : 2226, 2365
. : milestone, 2296,
profiling (2.085 ms) : 2030, 2140
. : milestone, 2085,
tracing (2.052 ms) : 1998, 2105
. : milestone, 2052,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~9b3b0aaa0c, baseline=1.61.0-SNAPSHOT~f452dffb47
dateFormat X
axisFormat %s
section baseline
no_agent (15.017 s) : 15017000, 15017000
. : milestone, 15017000,
appsec (14.905 s) : 14905000, 14905000
. : milestone, 14905000,
iast (17.987 s) : 17987000, 17987000
. : milestone, 17987000,
iast_GLOBAL (17.908 s) : 17908000, 17908000
. : milestone, 17908000,
profiling (15.332 s) : 15332000, 15332000
. : milestone, 15332000,
tracing (14.898 s) : 14898000, 14898000
. : milestone, 14898000,
section candidate
no_agent (15.003 s) : 15003000, 15003000
. : milestone, 15003000,
appsec (14.564 s) : 14564000, 14564000
. : milestone, 14564000,
iast (18.319 s) : 18319000, 18319000
. : milestone, 18319000,
iast_GLOBAL (17.748 s) : 17748000, 17748000
. : milestone, 17748000,
profiling (14.927 s) : 14927000, 14927000
. : milestone, 14927000,
tracing (14.818 s) : 14818000, 14818000
. : milestone, 14818000,
|
f964abb to
87823ae
Compare
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
8c8bf53 to
74c1391
Compare
JVM signal handlers produce different output / formats depending on the platform. For example an Linux-x64 will of course have different register names, but they will be formated as four per line, while the linux-aarch64 will use one register per line. Links to different `os::print_context` implementations * https://github.com/openjdk/jdk/blob/master/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp#L419 * https://github.com/openjdk/jdk/blob/master/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp#L341 * https://github.com/openjdk/jdk/blob/master/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp#L601 * https://github.com/openjdk/jdk/blob/master/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp#L464
74c1391 to
9b3b0aa
Compare
| * and subsequent sections such as {@code siginfo} and registers will be silently skipped. The | ||
| * resulting {@link datadog.crashtracking.dto.CrashLog} will be marked {@code incomplete}. | ||
| */ | ||
| public final class HotspotCrashLogParser { |
There was a problem hiding this comment.
J9JavacoreParser should also be also maintained here (if applicable) - but it can be done in a follow up PR
| No events | ||
|
|
||
| Dll operation events (5 events): | ||
| Event: 0.013 Loaded shared library /Users/brice.dutheil/.local/share/mise/installs/java/25.0.2/lib/libjava.dylib |
There was a problem hiding this comment.
Idnk if you want to strip those paths (or not)
There was a problem hiding this comment.
Good spot, let's remove them
What Does This Do
Adds the registry of the processor from the Hotspot crash log, in the
experimentalfield:Motivation
Additional information
ucontext_tis a POSIX struct passed to signal handlers (third argument when usingSA_SIGINFO). It captures the complete CPU state at the exact moment the signal was raised — i.e., at the point of crash. The JVM emits this information under theRegisterssection in the crash log.Links to different
os::print_contextimplementationsTest script