HeapDumper uses GCCause::_heap_dump as the cause. That looks good to me. /Staffan
> On 26 jan 2015, at 11:07, Kirk Pepperdine <k...@kodewerk.com> wrote: > > Hi Staffan, > > There are other entry points in diagnosticCommand that will trigger a Full GC. > > void ClassHistogramDCmd::execute(DCmdSource source, TRAPS) { > VM_GC_HeapInspection heapop(output(), > !_all.value() /* request full gc if false */); > VMThread::execute(&heapop); > } > > and > void HeapDumpDCmd::execute(DCmdSource source, TRAPS) { > // Request a full GC before heap dump if _all is false > // This helps reduces the amount of unreachable objects in the dump > // and makes it easier to browse. > HeapDumper dumper(!_all.value() /* request GC if _all is false*/); > int res = dumper.dump(_filename.value()); > if (res == 0) { > output()->print_cr("Heap dump file created"); > } else { > // heap dump failed > ResourceMark rm; > char* error = dumper.error_as_C_string(); > if (error == NULL) { > output()->print_cr("Dump failed - reason unknown"); > } else { > output()->print_cr("%s", error); > } > } > } > > For example. For consistency, how would you suggest these be handled. > > Kind regards, > Kirk Pepperdine > > On Jan 26, 2015, at 9:12 AM, Staffan Larsen <staffan.lar...@oracle.com > <mailto:staffan.lar...@oracle.com>> 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 <yasue...@gmail.com >>> <mailto:yasue...@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/ >>> <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 >> >