Hi David, I've considered that the uptime value should be consistent with other logging mechanisms in the VM tagging their output with uptime timestamp (namely, the gc log), so I used the same code to produce the uptime value. If the timestamp support in the outputStream class is modified, the gc log timestamps and the VMUptime timestamps will remain consistent.
Fred On 01/ 6/12 03:19 AM, David Holmes wrote:
Hi Fred, Curious about one thing. For the uptime, how does this: + void VMUptimeDCmd::execute(TRAPS) { + if (_date.value()) { + output()->date_stamp(true, "", ": "); + } + output()->time_stamp().update_to(tty->time_stamp().ticks()); + output()->stamp(); + output()->print_cr(" s"); + } compare to simply doing "current time - VM start time" ? I guess the difference will be the difference between when os::elapsed_counter() was initialized and the VM start time is initialized. But the above seems a very non-obvious way of getting the uptime. David ----- On 6/01/2012 1:19 AM, Frederic Parain wrote:This changeset aims to add a first set of diagnostic commands to the HotSpot JVM. It also includes minor modifications to the diagnostic command framework implementation to ease development of new diagnostic commands. The webrev is here: http://cr.openjdk.java.net/~fparain/7120511/webrev.00/ Here's the list of new diagnostic commands: Thread.print Print all threads with stacktraces. GC.class_histogram Provides statistics about the Java heap usage GC.heap_dump Generate a HPROF format dump of the Java heap GC.run_finalization Call java.lang.System.runFinalization(). GC.run Call java.lang.System.gc(). VM.uptime Print VM uptime. VM.flags Print VM flag options and their current values. VM.system_properties Print system properties VM.command_line Print the command line used to start this VM instance. Thanks, Fred
-- Frederic Parain - Oracle Grenoble Engineering Center - France Phone: +33 4 76 18 81 17 Email: [email protected]
