RFR: JDK-8068589: GCCause should distinguish jcmd GC.run from System.gc()

Staffan Larsen staffan.larsen at oracle.com
Tue Jan 27 19:37:20 UTC 2015


> On 27 jan 2015, at 18:00, Kirk Pepperdine <kirk at kodewerk.com> wrote:
> 
> Hi,
> 
> On Jan 27, 2015, at 1:22 PM, Yasumasa Suenaga <yasuenag at gmail.com> wrote:
> 
>> Hi Staffan,
>> 
>> Thank you for your comments.
>> 
>> I've uploaded new webrev:
>> http://cr.openjdk.java.net/~ysuenaga/JDK-8068589/webrev.01/
>> 
>> I changed as below:
>>  - GCCause::_jcmd_gc_run -> GCCause::_dcmd_gc_run
>>  - GCCause string: "jcmd GC.run" -> "GC.run DCmd”
> 
> Can I suggest a shortened GCCause string to “DiagCmd”. At the very least I’d prefer to not have the “.” in the string.

I would have suggested “GC.run Diagnostic Command”, or “Diagnostic Command: GC.run”. I don’t know what problems a ‘.’ causes. “System.gc()” already has one.

/Staffan

> 
> Regards,
> Kirk
> 
>> 
>> 
>> Could you review it?
>> 
>> 
>> Thanks,
>> 
>> Yasumasa
>> 
>> 
>> On 2015/01/26 17:12, Staffan Larsen wrote:
>>> A bit of terminology here. ‘GC.run’ is called a ‘Diagnostic Command’. ‘jcmd’ is one way to invoke a Diagnostic Command. Another way is via a JMX MBean. With this in mind I think your references to ‘jcmd’ should be changed to ‘diagnostic command’ (or an abbreviation thereof). For example: _jcmd_gc_run -> _dcmd_gc_run.
>>> 
>>> Thanks,
>>> /Staffan
>>> 
>>>> On 25 jan 2015, at 14:15, Yasumasa Suenaga <yasuenag at gmail.com> wrote:
>>>> 
>>>> Hi all,
>>>> 
>>>> GCCause which is printed in gc log is "System.gc()" when jcmd GC.run is invoked.
>>>> I think that GCCause which is caused by jcmd GC.run should be different from System.gc() .
>>>> 
>>>> I uploaded webrev for this enhancement:
>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8068589/webrev.00/
>>>> 
>>>> This patch prints "jcmd GC.run" to gc log when jcmd GC.run is invoked.
>>>> 
>>>> 
>>>> Could you review it?
>>>> 
>>>> 
>>>> Thanks,
>>>> 
>>>> Yasumasa
>>> 
> 



More information about the hotspot-gc-dev mailing list