< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/JSnap.java

Print this page

        

*** 23,37 **** --- 23,41 ---- */ package sun.jvm.hotspot.tools; import java.io.*; + import java.util.*; + import java.util.stream.*; import sun.jvm.hotspot.debugger.JVMDebugger; import sun.jvm.hotspot.runtime.*; public class JSnap extends Tool { + private boolean all; + public JSnap() { super(); } public JSnap(JVMDebugger d) {
*** 43,53 **** if (PerfMemory.initialized()) { PerfDataPrologue prologue = PerfMemory.prologue(); if (prologue.accessible()) { PerfMemory.iterate(new PerfMemory.PerfDataEntryVisitor() { public boolean visit(PerfDataEntry pde) { ! if (pde.supported()) { out.print(pde.name()); out.print('='); out.println(pde.valueAsString()); } // goto next entry --- 47,57 ---- if (PerfMemory.initialized()) { PerfDataPrologue prologue = PerfMemory.prologue(); if (prologue.accessible()) { PerfMemory.iterate(new PerfMemory.PerfDataEntryVisitor() { public boolean visit(PerfDataEntry pde) { ! if (all || pde.supported()) { out.print(pde.name()); out.print('='); out.println(pde.valueAsString()); } // goto next entry
*** 60,69 **** --- 64,89 ---- } else { out.println("PerfMemory is not initialized"); } } + @Override + protected void printFlagsUsage() { + System.out.println(" -a\tto print all performance counters"); + super.printFlagsUsage(); + } + public static void main(String[] args) { JSnap js = new JSnap(); + js.all = Arrays.stream(args) + .anyMatch(s -> s.equals("-a")); + + if (js.all) { + args = Arrays.stream(args) + .filter(s -> !s.equals("-a")) + .collect(Collectors.toList()) + .toArray(new String[0]); + } + js.execute(args); } }
< prev index next >