RFR: JDK-8147388: Add diagnostic commands to attach JVMTI agent.

Yasumasa Suenaga yasuenag at gmail.com
Fri Jan 15 13:33:37 UTC 2016


Hi,

I added permissions and tests in new webrev:
   http://cr.openjdk.java.net/~ysuenaga/JDK-8147388/webrev.01/

Two tests (LoadAgentDcmdTest, LoadJavaAgentDcmdTest) work fine.


Thanks,

Yasumasa


On 2016/01/15 17:20, Staffan Larsen wrote:
> 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