Hi all, This PR addresses [8334492](https://bugs.openjdk.org/browse/JDK-8334492) enabling jcmd diagnostic commands that issue an output file to accept the `%p` pattern in the file name and substitute it for the PID.
This PR addresses the following diagnostic commands: - [x] Compiler.perfmap - [x] GC.heap_dump - [x] System.dump_map - [x] Thread.dump_to_file - [x] VM.cds Note that some jcmd diagnostic commands already enable this functionality (`JFR.configure, JFR.dump, JFR.start and JFR.stop`). I propose opening a separate issue to track updating the man page similarly to how it’s done for the JFR diagnostic commands. For example, filename (Optional) Name of the file to which the flight recording data is written when the recording is stopped. If no filename is given, a filename is generated from the PID and the current date and is placed in the directory where the process was started. The filename may also be a directory in which case, the filename is generated from the PID and the current date in the specified directory. (STRING, no default value) Note: If a filename is given, '%p' in the filename will be replaced by the PID, and '%t' will be replaced by the time in 'yyyy_MM_dd_HH_mm_ss' format. Unfortunately, per [8276265](https://bugs.openjdk.org/browse/JDK-8276265), sources for the jcmd manpage remain in Oracle internal repos so this PR can’t address that. Testing: - [x] Added test case passes. - [x] Modified existing VM.cds tests to also check for `%p` filenames. Looking forward to your comments and addressing any diagnostic commands I might have missed (if any). Cheers, Sonia ------------- Commit messages: - 8334492: DiagnosticCommands (jcmd) should accept %p in output filenames and substitute PID Changes: https://git.openjdk.org/jdk/pull/20198/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20198&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8334492 Stats: 130 lines in 5 files changed: 116 ins; 0 del; 14 mod Patch: https://git.openjdk.org/jdk/pull/20198.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20198/head:pull/20198 PR: https://git.openjdk.org/jdk/pull/20198