RFR: 8357828: Add a timestamp to jcmd diagnostic commands

Laurence Cable larry.cable at oracle.com
Tue Sep 23 15:31:31 UTC 2025



On 9/23/25 2:59 AM, Thomas Stuefe wrote:
> On Thu, 18 Sep 2025 14:57:44 GMT, Ivan Bereziuk <duke at openjdk.org> wrote:
>
>> `jcmd` provides great diagnostics but many commands lack a timestamp in their output.
>> Adding a timestamp to the output of some would add value for those debugging JVM data.
>>
>> Some diagnostic commands already provide timestamps. For example `Thread.print` already prints one of "yyyy-MM-dd HH:mm:ss" format.
>>
>> Adding timestamps to all diagnostic `jcmd` commands with a non-throw-away STDOUT.
>>
>> The exceptions are:
>> * `VM.uptime` - command run with `-date` argument will also print a timestamp;
>> * `VM.system_properties` - already lists timestamp
>> * `Thread.dump_to_file` - the content dumped to file already has a timestamp;
>> * `VM.version`
> Piling on...
>
> I think this feature would be useful. I wished for this more often than not.
>
> I think the printing should be done on the server side, not on the client side (be it a `date` before the invocation of jcmd, or jcmd itself printing the date), since the timestamp on the server side may be different than that of the client jcmd.
>
> I would prefer a timestamp in the UL "time" decoration format: Full ISO-8601, including timezone offset. See https://openjdk.org/jeps/158 . That would also keep in line with gc logs etc.
>
> I am not sure we need a specific option to disable or enable this. Who would want to disable this feature?

anyone who is parsing the output of jcmd's programmatically ... since 
this change can potentially break that code
>
> -------------
>
> PR Comment: https://git.openjdk.org/jdk/pull/27368#issuecomment-3323234159



More information about the serviceability-dev mailing list