Skip to content

Latest commit

 

History

History
60 lines (51 loc) · 4.17 KB

OutputFormats.md

File metadata and controls

60 lines (51 loc) · 4.17 KB

Output Formats

async-profiler currently supports the following output formats:

  • collapsed - This is a collection of call stacks, where each line is a semicolon separated list of frames followed by a counter. This is used by the FlameGraph script to generate the FlameGraph visualization of the profile data.

    FileConverter.main;FileConverter.convertFile;FileConverter.saveResult 21
    FileConverter.main;FileConverter.convertFile;FileConverter.saveResult;java/io/DataOutputStream.writeInt 1
    FileConverter.main;FileConverter.convertFile;FileConverter.saveResult;java/io/DataOutputStream.writeInt;java/io/ByteArrayOutputStream.write 5
    FileConverter.main;FileConverter.convertFile;FileConverter.saveResult;java/io/DataOutputStream.writeUTF;java/io/DataOutputStream.writeUTF 12
    FileConverter.main;FileConverter.convertFile;FileConverter.saveResult;java/io/DataOutputStream.writeUTF;java/io/DataOutputStream.writeUTF;java/lang/String.length 3
    FileConverter.main;FileConverter.convertFile;FileConverter.saveResult;java/io/DataOutputStream.writeUTF;java/io/DataOutputStream.writeUTF;java/io/DataOutputStream.write 6
    start_thread;thread_native_entry;Thread::call_run;VMThread::run;VMThread::inner_execute;VMThread::evaluate_operation;VM_Operation::evaluate;VM_GenCollectForAllocation::doit;GenCollectedHeap::satisfy_failed_allocation;GenCollectedHeap::do_collection;GenCollectedHeap::collect_generation;DefNewGeneration::collect;DefNewGeneration::FastEvacuateFollowersClosure::do_void 12
    start_thread;thread_native_entry;Thread::call_run;VMThread::run;VMThread::inner_execute;VMThread::evaluate_operation;VM_Operation::evaluate;VM_GenCollectForAllocation::doit;GenCollectedHeap::satisfy_failed_allocation;GenCollectedHeap::do_collection;GenCollectedHeap::collect_generation;DefNewGeneration::collect;DefNewGeneration::FastEvacuateFollowersClosure::do_void;void ContiguousSpace::oop_since_save_marks_iterate<DefNewScanClosure> 1
    
  • flamegraph - FlameGraph is a hierarchical representation of call traces of the profiled software in a color coded format. Read more on the interpretation of FlameGraphs. FlameGraph

  • tree - Profile output generated in HTML format showing a tree view of resource usage beginning with the call stack with the highest resource usage and then showing other call stacks in descending order of resource usage. Expanding a parent frame follows the same hierarchical representation within that frame. Tree

  • text - If no output format is specified with -o and filename has no extension provided, profiled output is generated in text format.

    --- Execution profile ---
    Total samples       : 733
    
    --- 8208 bytes (19.58%), 1 sample
    [ 0] byte[]
    [ 1] java.util.jar.Manifest$FastInputStream.<init>
    [ 2] java.util.jar.Manifest$FastInputStream.<init>
    [ 3] java.util.jar.Manifest.read
    [ 4] java.util.jar.Manifest.<init>
    [ 5] java.util.jar.Manifest.<init>
    [ 6] java.util.jar.JarFile.getManifestFromReference
    [ 7] java.util.jar.JarFile.getManifest
    [ 8] jdk.internal.loader.URLClassPath$JarLoader$2.getManifest
    [ 9] jdk.internal.loader.BuiltinClassLoader.defineClass
    [10] jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull
    [11] jdk.internal.loader.BuiltinClassLoader.loadClassOrNull
    [12] jdk.internal.loader.BuiltinClassLoader.loadClass
    [13] jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass
    [14] java.lang.ClassLoader.loadClass
    [15] java.lang.Class.forName0
    [16] java.lang.Class.forName
    [17] sun.launcher.LauncherHelper.loadMainClass
    [18] sun.launcher.LauncherHelper.checkAndLoadMain
    
  • jfr - profile format used by the JDK Flight Recorder. The jfr format collects data about the JVM as well as the Java application running on it. async-profiler can generate output in jfr format compatible with tools capable of viewing and analyzing jfr files. JDK Mission Control (JMC) and Intellij IDEA are some of many options to visualize jfr files. More details here.