Skip to content

async-profiler has a converter for JFR and collapsed stacks Flamegraphs, JFR to pprof #30

@karololszacki

Description

@karololszacki

As per async-profiler readme:

latest release contains converters between profile formats: converter.jar

  • JFR to Flame Graph
  • JFR to pprof
  • collapsed stacks to Flame Graph

I tested two first and they work pretty good, java -jar converter.jar jfr2flame profile.jfr output.html is all you need to get a flame graph :) and it supports other options too:

Usage: java jfr2flame [options] input.jfr [output.html]

options include all supported FlameGraph options, plus the following:
  --alloc       Allocation Flame Graph
  --live        Include only live objects in allocation profile
  --lock        Lock contention Flame Graph
  --threads     Split profile by threads
  --state LIST  Filter samples by thread states: RUNNABLE, SLEEPING, etc.
  --classify    Classify samples into predefined categories
  --total       Accumulate the total value (time, bytes, etc.)
  --lines       Show line numbers
  --bci         Show bytecode indices
  --simple      Simple class names instead of FQN
  --dot         Dotted class names
  --norm        Normalize names of hidden classes / lambdas
  --from TIME   Start time in ms (absolute or relative)
  --to TIME     End time in ms (absolute or relative)
  --collapsed   Use collapsed stacks output format

I had issues with other tools not opening my JFR (like Jeffrey) and other converters not working properly, so I was glad I found something that worked. Sharing what I found to improve your profilerpedia 💪

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions