RFR: JDK-8147388: Add diagnostic commands to attach JVMTI agent.
Staffan Larsen
staffan.larsen at oracle.com
Fri Jan 15 08:20:05 UTC 2016
This is a good improvement overall.
The new diagnostic commands need to have proper permissions set:
static const JavaPermission permission() {
JavaPermission p = {"java.lang.management.ManagementPermission",
“control", NULL};
return p;
}
And as David said: tests! See hotspot/test/serviceability/dcmd/jvmti.
Thanks,
/Staffan
> On 14 jan. 2016, at 15:00, Yasumasa Suenaga <yasuenag at gmail.com> wrote:
>
> Hi all,
>
> We can use Attach API to attach JVMTI agent to live process.
> However, we have to write Java code for it.
>
> If we can attach JVMTI agents through jcmd, it is very useful.
> So I want to add two new diagnostic commands:
>
> * JVMTI.agent_load: Load JVMTI native agent.
> * JVMTI.javaagent_load: Load JVMTI java agent.
>
> I maintain two JVMTI agents - HeapStats [1] and JLivePatcher [2].
> [1] is native agent, [2] is java agent.
> They provide a program for attaching to live process.
>
> I guess that various JVMTI agents provide own attach mechanism like them.
> I think that we should provide general way to attach.
>
> I've uploaded webrev. Could you review it?
> http://cr.openjdk.java.net/~ysuenaga/JDK-8147388/webrev.00/
>
> I'm jdk9 committer, however I cannot access JPRT.
> So I need a sponsor.
>
>
> Thanks,
>
> Yasumasa
>
>
> [1] http://icedtea.classpath.org/wiki/HeapStats
> [2] https://github.com/YaSuenag/jlivepatcher (in Japanese)
More information about the serviceability-dev
mailing list