RFR: 8356870: HotSpotDiagnosticMXBean.dumpThreads and jcmd Thread.dump_to_file updates
Chen Liang
liach at openjdk.org
Sun May 25 05:21:00 UTC 2025
On Sat, 24 May 2025 09:33:13 GMT, Shaojin Wen <swen at openjdk.org> wrote:
>> Updates the thread dump generated by HotSpotDiagnosticMXBean.dumpThreads and jcmd Thread.dump_to_file to include thread state and lock information. Also update the HotSpotDiagnosticMXBean.dumpThreads API description to link to a description of the JSON format dump as that format is intended to be parseable/read by tools.
>>
>> This PR is dependent on [pull/25425](https://github.com/openjdk/jdk/pull/25425). As noted in that PR, the changes accumulated in the loom repo, and have been split up to make it easier to review.
>>
>> The changes include some re-implementation of ThreadDumper. This is because it used PrintStream and didn't fail if there was an I/O error, e.g. file system full. Furthermore, the indentation to pretty print the json was fragile and hard to maintain so this is changed to use a supporting writer class to do this.
>>
>> Test coverage is significantly expanded, including updating the test library that is used by several tests to parse the thread dump.
>>
>> Testing: tier1-6
>
> src/java.base/share/classes/jdk/internal/vm/ThreadSnapshot.java line 182:
>
>> 180: */
>> 181: private class ThreadLock {
>> 182: private static final OwnedLockType[] lockTypeValues = OwnedLockType.values(); // cache
>
> Suggestion:
>
> @Stable
> private static final OwnedLockType[] lockTypeValues = OwnedLockType.values();
This class can be made final too.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25429#discussion_r2106088224
More information about the serviceability-dev
mailing list