Skip to content

Add J9/OpenJ9 crash tracking support#10496

Merged
jbachorik merged 11 commits intomasterfrom
jb/j9_crash_report
Feb 11, 2026
Merged

Add J9/OpenJ9 crash tracking support#10496
jbachorik merged 11 commits intomasterfrom
jb/j9_crash_report

Conversation

@jbachorik
Copy link
Copy Markdown
Contributor

@jbachorik jbachorik commented Feb 2, 2026

What Does This Do

Adds crash tracking support for J9/OpenJ9 JVMs (IBM Semeru, Eclipse OpenJ9). This includes:

  • New J9JavacoreParser to parse J9 javacore dump files
  • Auto-detection of crash log format (HotSpot hs_err vs J9 javacore)
  • Updated shell scripts to find and upload J9 javacore files
  • J9-specific initialization path in Initializer.java
  • Support for custom javacore file paths via -Xdump:java:file=

Motivation

Previously, crash tracking only supported HotSpot-based JVMs. J9/OpenJ9 JVMs use a different crash dump format (javacore files) and require manual configuration of -Xdump:tool since this cannot be set at runtime. This PR extends crash tracking to support J9/OpenJ9, enabling crash reporting for users running on IBM Semeru or Eclipse OpenJ9.

Additional Notes

  • J9 crash tracking requires manual JVM argument configuration at startup (-Xdump:tool:events=gpf+abort,exec=...)
  • The agent logs instructions for manual setup when J9 is detected without proper configuration
  • Documentation added at dd-java-agent/agent-crashtracking/doc/manual-crash-tracking-setup.md

Contributor Checklist

Jira ticket: APMLP-1013

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jbachorik jbachorik added type: enhancement Enhancements and improvements comp: profiling Profiling AI labels Feb 2, 2026
@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Feb 2, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/j9_crash_report
git_commit_date 1770730700 1770741076
git_commit_sha b90494a 6964036
release_version 1.60.0-SNAPSHOT~b90494a942 1.59.0-SNAPSHOT~6964036f1f
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770743096 1770743096
ci_job_id 1414050909 1414050909
ci_pipeline_id 95565778 95565778
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-l6rxtjua 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-l6rxtjua 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 63 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.077 s) : 0, 1077040
Total [baseline] (8.782 s) : 0, 8781973
Agent [candidate] (1.072 s) : 0, 1072015
Total [candidate] (8.759 s) : 0, 8759337
section iast
Agent [baseline] (1.234 s) : 0, 1233583
Total [baseline] (9.386 s) : 0, 9385686
Agent [candidate] (1.232 s) : 0, 1231604
Total [candidate] (9.344 s) : 0, 9343613
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.077 s -
Agent iast 1.234 s 156.543 ms (14.5%)
Total tracing 8.782 s -
Total iast 9.386 s 603.713 ms (6.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.072 s -
Agent iast 1.232 s 159.589 ms (14.9%)
Total tracing 8.759 s -
Total iast 9.344 s 584.276 ms (6.7%)
gantt
    title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.198 ms) : 0, 1198
crashtracking [candidate] (1.199 ms) : 0, 1199
BytebuddyAgent [baseline] (636.095 ms) : 0, 636095
BytebuddyAgent [candidate] (633.753 ms) : 0, 633753
AgentMeter [baseline] (29.418 ms) : 0, 29418
AgentMeter [candidate] (29.205 ms) : 0, 29205
GlobalTracer [baseline] (260.082 ms) : 0, 260082
GlobalTracer [candidate] (259.094 ms) : 0, 259094
AppSec [baseline] (33.308 ms) : 0, 33308
AppSec [candidate] (33.035 ms) : 0, 33035
Debugger [baseline] (61.96 ms) : 0, 61960
Debugger [candidate] (64.343 ms) : 0, 64343
Remote Config [baseline] (641.397 µs) : 0, 641
Remote Config [candidate] (629.424 µs) : 0, 629
Telemetry [baseline] (12.471 ms) : 0, 12471
Telemetry [candidate] (11.423 ms) : 0, 11423
Flare Poller [baseline] (6.263 ms) : 0, 6263
Flare Poller [candidate] (3.82 ms) : 0, 3820
section iast
crashtracking [baseline] (1.174 ms) : 0, 1174
crashtracking [candidate] (1.174 ms) : 0, 1174
BytebuddyAgent [baseline] (797.497 ms) : 0, 797497
BytebuddyAgent [candidate] (796.951 ms) : 0, 796951
AgentMeter [baseline] (11.274 ms) : 0, 11274
AgentMeter [candidate] (11.212 ms) : 0, 11212
GlobalTracer [baseline] (248.535 ms) : 0, 248535
GlobalTracer [candidate] (248.469 ms) : 0, 248469
AppSec [baseline] (32.52 ms) : 0, 32520
AppSec [candidate] (35.483 ms) : 0, 35483
Debugger [baseline] (67.663 ms) : 0, 67663
Debugger [candidate] (63.629 ms) : 0, 63629
Remote Config [baseline] (537.841 µs) : 0, 538
Remote Config [candidate] (533.17 µs) : 0, 533
Telemetry [baseline] (8.599 ms) : 0, 8599
Telemetry [candidate] (8.534 ms) : 0, 8534
Flare Poller [baseline] (3.504 ms) : 0, 3504
Flare Poller [candidate] (3.459 ms) : 0, 3459
IAST [baseline] (27.023 ms) : 0, 27023
IAST [candidate] (26.959 ms) : 0, 26959
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.071 s) : 0, 1071481
Total [baseline] (10.742 s) : 0, 10741656
Agent [candidate] (1.065 s) : 0, 1065180
Total [candidate] (10.921 s) : 0, 10921230
section appsec
Agent [baseline] (1.239 s) : 0, 1238571
Total [baseline] (11.029 s) : 0, 11028522
Agent [candidate] (1.242 s) : 0, 1241696
Total [candidate] (11.059 s) : 0, 11059387
section iast
Agent [baseline] (1.233 s) : 0, 1232747
Total [baseline] (11.213 s) : 0, 11212867
Agent [candidate] (1.241 s) : 0, 1240968
Total [candidate] (11.147 s) : 0, 11146733
section profiling
Agent [baseline] (1.195 s) : 0, 1195224
Total [baseline] (10.886 s) : 0, 10885598
Agent [candidate] (1.19 s) : 0, 1190025
Total [candidate] (10.989 s) : 0, 10988634
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.071 s -
Agent appsec 1.239 s 167.09 ms (15.6%)
Agent iast 1.233 s 161.266 ms (15.1%)
Agent profiling 1.195 s 123.743 ms (11.5%)
Total tracing 10.742 s -
Total appsec 11.029 s 286.866 ms (2.7%)
Total iast 11.213 s 471.21 ms (4.4%)
Total profiling 10.886 s 143.942 ms (1.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent appsec 1.242 s 176.516 ms (16.6%)
Agent iast 1.241 s 175.789 ms (16.5%)
Agent profiling 1.19 s 124.845 ms (11.7%)
Total tracing 10.921 s -
Total appsec 11.059 s 138.157 ms (1.3%)
Total iast 11.147 s 225.504 ms (2.1%)
Total profiling 10.989 s 67.405 ms (0.6%)
gantt
    title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.18 ms) : 0, 1180
crashtracking [candidate] (1.177 ms) : 0, 1177
BytebuddyAgent [baseline] (632.959 ms) : 0, 632959
BytebuddyAgent [candidate] (629.884 ms) : 0, 629884
AgentMeter [baseline] (29.006 ms) : 0, 29006
AgentMeter [candidate] (28.953 ms) : 0, 28953
GlobalTracer [baseline] (258.78 ms) : 0, 258780
GlobalTracer [candidate] (257.831 ms) : 0, 257831
AppSec [baseline] (33.046 ms) : 0, 33046
AppSec [candidate] (32.693 ms) : 0, 32693
Debugger [baseline] (61.933 ms) : 0, 61933
Debugger [candidate] (61.162 ms) : 0, 61162
Remote Config [baseline] (646.478 µs) : 0, 646
Remote Config [candidate] (633.344 µs) : 0, 633
Telemetry [baseline] (12.465 ms) : 0, 12465
Telemetry [candidate] (11.4 ms) : 0, 11400
Flare Poller [baseline] (6.165 ms) : 0, 6165
Flare Poller [candidate] (6.114 ms) : 0, 6114
section appsec
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (657.773 ms) : 0, 657773
BytebuddyAgent [candidate] (660.164 ms) : 0, 660164
AgentMeter [baseline] (11.969 ms) : 0, 11969
AgentMeter [candidate] (11.97 ms) : 0, 11970
GlobalTracer [baseline] (258.664 ms) : 0, 258664
GlobalTracer [candidate] (258.181 ms) : 0, 258181
AppSec [baseline] (167.585 ms) : 0, 167585
AppSec [candidate] (168.146 ms) : 0, 168146
Debugger [baseline] (67.083 ms) : 0, 67083
Debugger [candidate] (67.341 ms) : 0, 67341
Remote Config [baseline] (654.537 µs) : 0, 655
Remote Config [candidate] (644.706 µs) : 0, 645
Telemetry [baseline] (9.488 ms) : 0, 9488
Telemetry [candidate] (9.719 ms) : 0, 9719
Flare Poller [baseline] (3.68 ms) : 0, 3680
Flare Poller [candidate] (3.855 ms) : 0, 3855
IAST [baseline] (25.226 ms) : 0, 25226
IAST [candidate] (25.164 ms) : 0, 25164
section iast
crashtracking [baseline] (1.183 ms) : 0, 1183
crashtracking [candidate] (1.18 ms) : 0, 1180
BytebuddyAgent [baseline] (796.122 ms) : 0, 796122
BytebuddyAgent [candidate] (801.899 ms) : 0, 801899
AgentMeter [baseline] (11.243 ms) : 0, 11243
AgentMeter [candidate] (11.521 ms) : 0, 11521
GlobalTracer [baseline] (248.358 ms) : 0, 248358
GlobalTracer [candidate] (249.321 ms) : 0, 249321
AppSec [baseline] (33.98 ms) : 0, 33980
AppSec [candidate] (32.598 ms) : 0, 32598
Debugger [baseline] (66.835 ms) : 0, 66835
Debugger [candidate] (69.199 ms) : 0, 69199
Remote Config [baseline] (542.588 µs) : 0, 543
Remote Config [candidate] (544.233 µs) : 0, 544
Telemetry [baseline] (8.743 ms) : 0, 8743
Telemetry [candidate] (8.623 ms) : 0, 8623
Flare Poller [baseline] (3.515 ms) : 0, 3515
Flare Poller [candidate] (3.502 ms) : 0, 3502
IAST [baseline] (26.941 ms) : 0, 26941
IAST [candidate] (27.244 ms) : 0, 27244
section profiling
crashtracking [baseline] (1.224 ms) : 0, 1224
crashtracking [candidate] (1.218 ms) : 0, 1218
BytebuddyAgent [baseline] (685.046 ms) : 0, 685046
BytebuddyAgent [candidate] (681.483 ms) : 0, 681483
AgentMeter [baseline] (8.638 ms) : 0, 8638
AgentMeter [candidate] (8.62 ms) : 0, 8620
GlobalTracer [baseline] (216.849 ms) : 0, 216849
GlobalTracer [candidate] (215.966 ms) : 0, 215966
AppSec [baseline] (32.735 ms) : 0, 32735
AppSec [candidate] (32.419 ms) : 0, 32419
Debugger [baseline] (68.168 ms) : 0, 68168
Debugger [candidate] (67.315 ms) : 0, 67315
Remote Config [baseline] (613.783 µs) : 0, 614
Remote Config [candidate] (630.361 µs) : 0, 630
Telemetry [baseline] (8.894 ms) : 0, 8894
Telemetry [candidate] (9.01 ms) : 0, 9010
Flare Poller [baseline] (3.77 ms) : 0, 3770
Flare Poller [candidate] (3.791 ms) : 0, 3791
ProfilingAgent [baseline] (99.233 ms) : 0, 99233
ProfilingAgent [candidate] (99.807 ms) : 0, 99807
Profiling [baseline] (99.803 ms) : 0, 99803
Profiling [candidate] (100.375 ms) : 0, 100375
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/j9_crash_report
git_commit_date 1770730700 1770741076
git_commit_sha b90494a 6964036
release_version 1.60.0-SNAPSHOT~b90494a942 1.59.0-SNAPSHOT~6964036f1f
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770743455 1770743455
ci_job_id 1414050910 1414050910
ci_pipeline_id 95565778 95565778
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-neqhzyvf 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-neqhzyvf 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 3 performance improvements and 2 performance regressions! Performance is the same for 16 metrics, 15 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:profiling:high_load better
[-184.055µs; -42.162µs] or [-10.668%; -2.444%]
unstable
[-1044.346µs; +75.322µs] or [-20.311%; +1.465%]
unstable
[-75.590op/s; +439.903op/s] or [-3.603%; +20.966%]
1.612ms 4.657ms 2280.281op/s 1.725ms 5.142ms 2098.125op/s
scenario:load:petclinic:profiling:high_load better
[-1449.170µs; -509.859µs] or [-7.514%; -2.644%]
better
[-2.696ms; -1.345ms] or [-8.539%; -4.259%]
unstable
[-9.747op/s; +36.309op/s] or [-4.108%; +15.302%]
18.306ms 29.551ms 250.562op/s 19.286ms 31.571ms 237.281op/s
scenario:load:petclinic:no_agent:high_load worse
[+1.252ms; +2.568ms] or [+7.433%; +15.240%]
worse
[+1.248ms; +3.992ms] or [+4.362%; +13.955%]
unstable
[-52.019op/s; -0.543op/s] or [-19.390%; -0.202%]
18.758ms 31.226ms 242.000op/s 16.848ms 28.606ms 268.281op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.176 ms) : 1164, 1187
.   : milestone, 1176,
iast (3.32 ms) : 3270, 3369
.   : milestone, 3320,
iast_FULL (5.688 ms) : 5632, 5745
.   : milestone, 5688,
iast_GLOBAL (3.558 ms) : 3497, 3618
.   : milestone, 3558,
profiling (2.156 ms) : 2137, 2175
.   : milestone, 2156,
tracing (1.789 ms) : 1774, 1803
.   : milestone, 1789,
section candidate
no_agent (1.181 ms) : 1169, 1192
.   : milestone, 1181,
iast (3.227 ms) : 3181, 3274
.   : milestone, 3227,
iast_FULL (5.749 ms) : 5691, 5807
.   : milestone, 5749,
iast_GLOBAL (3.435 ms) : 3386, 3484
.   : milestone, 3435,
profiling (1.979 ms) : 1961, 1998
.   : milestone, 1979,
tracing (1.791 ms) : 1777, 1806
.   : milestone, 1791,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.176 ms [1.164 ms, 1.187 ms] -
iast 3.32 ms [3.27 ms, 3.369 ms] 2.144 ms (182.3%)
iast_FULL 5.688 ms [5.632 ms, 5.745 ms] 4.513 ms (383.8%)
iast_GLOBAL 3.558 ms [3.497 ms, 3.618 ms] 2.382 ms (202.6%)
profiling 2.156 ms [2.137 ms, 2.175 ms] 980.417 µs (83.4%)
tracing 1.789 ms [1.774 ms, 1.803 ms] 612.83 µs (52.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.181 ms [1.169 ms, 1.192 ms] -
iast 3.227 ms [3.181 ms, 3.274 ms] 2.046 ms (173.3%)
iast_FULL 5.749 ms [5.691 ms, 5.807 ms] 4.568 ms (386.8%)
iast_GLOBAL 3.435 ms [3.386 ms, 3.484 ms] 2.254 ms (190.9%)
profiling 1.979 ms [1.961 ms, 1.998 ms] 798.493 µs (67.6%)
tracing 1.791 ms [1.777 ms, 1.806 ms] 610.389 µs (51.7%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.39 ms) : 17214, 17565
.   : milestone, 17390,
appsec (18.641 ms) : 18456, 18825
.   : milestone, 18641,
code_origins (17.71 ms) : 17533, 17886
.   : milestone, 17710,
iast (17.627 ms) : 17450, 17803
.   : milestone, 17627,
profiling (19.67 ms) : 19467, 19874
.   : milestone, 19670,
tracing (17.776 ms) : 17601, 17951
.   : milestone, 17776,
section candidate
no_agent (19.283 ms) : 19085, 19481
.   : milestone, 19283,
appsec (18.369 ms) : 18183, 18554
.   : milestone, 18369,
code_origins (17.618 ms) : 17443, 17793
.   : milestone, 17618,
iast (17.583 ms) : 17404, 17762
.   : milestone, 17583,
profiling (18.626 ms) : 18440, 18812
.   : milestone, 18626,
tracing (17.635 ms) : 17463, 17807
.   : milestone, 17635,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.39 ms [17.214 ms, 17.565 ms] -
appsec 18.641 ms [18.456 ms, 18.825 ms] 1.251 ms (7.2%)
code_origins 17.71 ms [17.533 ms, 17.886 ms] 319.913 µs (1.8%)
iast 17.627 ms [17.45 ms, 17.803 ms] 236.788 µs (1.4%)
profiling 19.67 ms [19.467 ms, 19.874 ms] 2.281 ms (13.1%)
tracing 17.776 ms [17.601 ms, 17.951 ms] 386.286 µs (2.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.283 ms [19.085 ms, 19.481 ms] -
appsec 18.369 ms [18.183 ms, 18.554 ms] -914.111 µs (-4.7%)
code_origins 17.618 ms [17.443 ms, 17.793 ms] -1.665 ms (-8.6%)
iast 17.583 ms [17.404 ms, 17.762 ms] -1.7 ms (-8.8%)
profiling 18.626 ms [18.44 ms, 18.812 ms] -656.766 µs (-3.4%)
tracing 17.635 ms [17.463 ms, 17.807 ms] -1.648 ms (-8.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/j9_crash_report
git_commit_date 1770730700 1770741076
git_commit_sha b90494a 6964036
release_version 1.60.0-SNAPSHOT~b90494a942 1.59.0-SNAPSHOT~6964036f1f
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1770743139 1770743139
ci_job_id 1414050911 1414050911
ci_pipeline_id 95565778 95565778
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-wnldcrux 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-wnldcrux 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.455 s) : 15455000, 15455000
.   : milestone, 15455000,
appsec (14.781 s) : 14781000, 14781000
.   : milestone, 14781000,
iast (18.153 s) : 18153000, 18153000
.   : milestone, 18153000,
iast_GLOBAL (17.892 s) : 17892000, 17892000
.   : milestone, 17892000,
profiling (14.993 s) : 14993000, 14993000
.   : milestone, 14993000,
tracing (14.753 s) : 14753000, 14753000
.   : milestone, 14753000,
section candidate
no_agent (14.844 s) : 14844000, 14844000
.   : milestone, 14844000,
appsec (14.925 s) : 14925000, 14925000
.   : milestone, 14925000,
iast (17.97 s) : 17970000, 17970000
.   : milestone, 17970000,
iast_GLOBAL (17.746 s) : 17746000, 17746000
.   : milestone, 17746000,
profiling (15.376 s) : 15376000, 15376000
.   : milestone, 15376000,
tracing (14.704 s) : 14704000, 14704000
.   : milestone, 14704000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.455 s [15.455 s, 15.455 s] -
appsec 14.781 s [14.781 s, 14.781 s] -674.0 ms (-4.4%)
iast 18.153 s [18.153 s, 18.153 s] 2.698 s (17.5%)
iast_GLOBAL 17.892 s [17.892 s, 17.892 s] 2.437 s (15.8%)
profiling 14.993 s [14.993 s, 14.993 s] -462.0 ms (-3.0%)
tracing 14.753 s [14.753 s, 14.753 s] -702.0 ms (-4.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.844 s [14.844 s, 14.844 s] -
appsec 14.925 s [14.925 s, 14.925 s] 81.0 ms (0.5%)
iast 17.97 s [17.97 s, 17.97 s] 3.126 s (21.1%)
iast_GLOBAL 17.746 s [17.746 s, 17.746 s] 2.902 s (19.5%)
profiling 15.376 s [15.376 s, 15.376 s] 532.0 ms (3.6%)
tracing 14.704 s [14.704 s, 14.704 s] -140.0 ms (-0.9%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~6964036f1f, baseline=1.60.0-SNAPSHOT~b90494a942
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.478 ms) : 1466, 1489
.   : milestone, 1478,
appsec (3.797 ms) : 3576, 4018
.   : milestone, 3797,
iast (2.258 ms) : 2189, 2328
.   : milestone, 2258,
iast_GLOBAL (2.303 ms) : 2233, 2373
.   : milestone, 2303,
profiling (2.113 ms) : 2056, 2170
.   : milestone, 2113,
tracing (2.058 ms) : 2005, 2112
.   : milestone, 2058,
section candidate
no_agent (1.475 ms) : 1464, 1487
.   : milestone, 1475,
appsec (3.767 ms) : 3546, 3988
.   : milestone, 3767,
iast (2.263 ms) : 2193, 2332
.   : milestone, 2263,
iast_GLOBAL (2.302 ms) : 2232, 2372
.   : milestone, 2302,
profiling (2.083 ms) : 2028, 2138
.   : milestone, 2083,
tracing (2.067 ms) : 2013, 2121
.   : milestone, 2067,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.466 ms, 1.489 ms] -
appsec 3.797 ms [3.576 ms, 4.018 ms] 2.32 ms (157.0%)
iast 2.258 ms [2.189 ms, 2.328 ms] 780.424 µs (52.8%)
iast_GLOBAL 2.303 ms [2.233 ms, 2.373 ms] 825.341 µs (55.9%)
profiling 2.113 ms [2.056 ms, 2.17 ms] 635.121 µs (43.0%)
tracing 2.058 ms [2.005 ms, 2.112 ms] 580.57 µs (39.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 3.767 ms [3.546 ms, 3.988 ms] 2.292 ms (155.4%)
iast 2.263 ms [2.193 ms, 2.332 ms] 787.542 µs (53.4%)
iast_GLOBAL 2.302 ms [2.232 ms, 2.372 ms] 827.034 µs (56.1%)
profiling 2.083 ms [2.028 ms, 2.138 ms] 607.601 µs (41.2%)
tracing 2.067 ms [2.013 ms, 2.121 ms] 591.929 µs (40.1%)

@PerfectSlayer PerfectSlayer added tag: ai generated Largely based on code generated by an AI or LLM and removed AI labels Feb 3, 2026
jbachorik and others added 8 commits February 5, 2026 11:19
Adapt J9JavacoreParser and tests to updated crash tracking DTOs:
- SigInfo now requires 5 parameters (added code, action, address)
- StackFrame now requires 7 parameters (added buildId, buildIdType, fileType, relativeAddress)
- ProcInfo.pid changed from String to int
- Test assertions updated for field rename (file -> path)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Integrate BuildIdCollector into J9JavacoreParser to extract build IDs
from native libraries in crash reports, matching HotspotCrashLogParser:
- Added BuildIdCollector for async build ID extraction from ELF binaries
- Modified parseNativeStackFrame() to collect library names from native frames
- Enriched stack frames with build IDs, file types, and build ID types
- Added 5-second timeout for build ID collection completion

J9 javacores include native stack frames like [libcrash.so+0x1d7d] which
now get enriched with GNU build IDs when available, improving crash
symbolication and debugging capabilities.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Code review fixes:
- Extract relative address from native stack frames ([lib+0xoffset])
- Add safe integer parsing for PID to handle malformed javacores

Matches HotspotCrashLogParser patterns for consistency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Remove obsolete comment about J9 handling from Agent.java
- Separate J9 (javacore) and HotSpot (hs_err) config paths clearly
- Update javadoc to reflect actual initialization order
- Remove proactive script deployment when -Xdump not configured

J9 VMs use javacore format exclusively, not hs_err, so config
should only include javacore_path for J9 environments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@jbachorik jbachorik marked this pull request as ready for review February 6, 2026 15:36
@jbachorik jbachorik requested review from a team as code owners February 6, 2026 15:36
Copy link
Copy Markdown
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good. Left a suggestion about promoting markdown to common docs.

@@ -0,0 +1,236 @@
# Manual Crash Tracking Setup
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❔ question: ‏Should this doc move to the /docs root folder? It could be useful to share it more widely than "agent" developers.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I can move the document up.

-jar your-application.jar
```

**Important:** Note the backslash (`\`) before `%pid` - this escapes the space and is required.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 suggestion: ‏GitHub has custom markdown for this kind of comment: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts

If you're interested, there are few places to update in this file.

@jbachorik jbachorik added comp: crash tracking Crash Tracking and removed comp: profiling Profiling labels Feb 11, 2026
@jbachorik jbachorik merged commit 83f658a into master Feb 11, 2026
547 of 548 checks passed
@jbachorik jbachorik deleted the jb/j9_crash_report branch February 11, 2026 11:11
@github-actions github-actions bot added this to the 1.60.0 milestone Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: crash tracking Crash Tracking tag: ai generated Largely based on code generated by an AI or LLM type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants