Hi Denghui,

On 7/10/2021 11:58 pm, 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.

If the intent is that you could issue a jcmd:

jcmd <vmid> MyClass.foo

to have it run/use a Java thread to execute arbitrary code then I think a lot of careful consideration would need to be given to making this facility safe and secure. I can easily imagine that the thread used, and the timing, could cause failures. Executing arbitrary code may be far too general, so it might mean we need a new "service" interface defined that the target class has to implement.

It might well be useful but will need some deep thought IMO.

Cheers,
David

Thanks,
Denghui Dong

Reply via email to