Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Aug 07, 2018
2 870
Flamegraph Viewer & Instrumentation Java Profiler Fierix
Upload file to FlameViewer
  1. Click Tools | Open FlameViewer...
  2. Upload a file of a supported profiler:
    • jfr files generated by Flight Recorder
    • Yourkit csv files. To generate csv file from a snapshot run following script: java -jar -Dexport.call.tree.cpu -Dexport.csv /lib/yjp.jar -export ~/Snapshots/.snapshot
    • Files in flamegraph format
    • fierix files generated by bundled Fierix profiler (IntelliJ IDEA only)
Java performance recording. Quick start
Use Flight Recorder to profile your program and then open FlameViewer:
  1. Run JVM with following VM options: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=30s,filename=my_recording.jfr -XX:FlightRecorderOptions=stackdepth=256
  2. Open FlameViewer Tools | Open FlameViewer...
  3. Upload my_recording.jfr
Fierix (only IntelliJ IDEA)
Fierix is a bundled instrumentation Java profiler that allows to save parameters of method calls, specify what methods will be instrumented and view a call tree.
  1. To specify methods that will be recorded open Tools | Fierix | Edit Configuration...
  2. To run program with profiler select the desired run configuration and choose Run with Fierix
  3. Also you can configure profiler to save value of method's parameters or it's return value. This should be done if you want to see how parameters influence method's performance. To enable this option check 'Save' checkbox beside type of parameter(s) when editing pattern in configuration.
  4. To open results click Tools | Fierix | Open Results...
Detailed description at github.com/kornilova-l/FlameViewer

Recent change notes

  • Implemented internal representation of flamegraph that speeds up visualization.
  • Fixed visualization of yourkit csv files when some of nodes have zero width.
  • Fixed visualization of whole backtraces tree, now all nodes with non-zero self time are added.
  • Added support for retina displays.
  • Profiler is renamed to Fierix, Flamegraph Visualizer to FlameViewer. Added FlameViewer support to IDEs.
  • Improved visualization of method back traces tree.