Extend jcmd to java application level
Yasumasa Suenaga
suenaga at oss.nttdata.com
Fri Oct 8 01:29:50 UTC 2021
Hi Denghui,
I thought to add JMX client feature to jcmd in the past for similar purposes, but I didn't because JMX URL is too complex to type into console :)
Your proposal is useful, but it means malicious users can inject arbitrary code. I think we need to consider security, and existing framework like JMX might help us.
Thanks,
Yasumasa
On 2021/10/08 10:09, Denghui Dong wrote:
> Hi Yasumasa,
>
> JVMTI.data_dump and DataDumpRequest can achieve the purpose of triggering.
>
> IIUC, DataDumpRequest does not seem to be able to pass parameters.
> And sometimes the action the user wants to trigger may not be a data dump.
>
> In fact, I think that commands such as JFR.start/stop are such a mechanism, triggered by `jcmd`, and finally callback to the java layer.
>
> Denghui Dong
>
> ------------------------------------------------------------------
> From:Yasumasa Suenaga <suenaga at oss.nttdata.com>
> Send Time:2021年10月8日(星期五) 07:45
> To:董登辉(卓昂) <denghui.ddh at alibaba-inc.com>; serviceability-dev <serviceability-dev at openjdk.java.net>; hotspot-runtime-dev at openjdk.java.net <hotspot-runtime-dev at openjdk.java.net>
> Subject:Re: Extend jcmd to java application level
>
> Hi Denghui,
>
>
> I think you can do it with combination of JVMTI.data_dump dcmd and DataDumpRequest event in JVMTI.
>
> JVM(TM) Tool Interface 17.0.0 (oracle.com) <https://docs.oracle.com/en/java/javase/17/docs/specs/jvmti.html#DataDumpRequest>
>
>
> Thanks,
>
> Yasumasa
>
>
> On 2021/10/07 22:58, Denghui Dong wrote:
>
> Hi team,
>
> The `jcmd` command can be used to call some built-in diagnostic commands in vm.
> Can we consider extending it to the java layer like perf data, so that Java developers can
> customize their diagnostic commands and then call them through `jcmd`?
>
> One application scenario I can think of for this extension is that some statistical information
> may be collected in a java application. Triggering the output of this statistical information through
> the `jcmd` command seems to me relative to other mechanisms that trigger output (such as through
> an HTTP service, or periodic Printing) is more convenient.
>
> Any input is appreciated.
>
> Thanks,
> Denghui Dong
>
>
More information about the serviceability-dev
mailing list