-
Notifications
You must be signed in to change notification settings - Fork 937
Closed
Labels
Description
The profile converter (formerly converter.jar) has undergone significant refactoring.
Here is the list of most important changes.
- Converter is now bundled as an executable binary
jfrconv
, see Binary converter #895. converter.jar
has been renamed tojfr-converter.jar
; it is no longer bundled in the profiler package, but can be downloaded separately.- Minimal required JDK version to run converter is now JDK 8.
- Top level converter classes have been moved to
one.converter
package to allow access from third-party packages. - A single
Main
class now handles all types of conversions instead of separatejfr2flame
,jfr2pprof
, etc. - Input and output format is automatically detected basing on a file extension or contents.
- Multiple source files can be converted with one command, e.g.
jfrconv -o html *.collapsed .
- Output parameter can be a file name, a directory name, or can be omitted entirely when only one input file is specified:
jfrconv input.jfr
- For each input file, converter prints input file name, output file name and conversion duration.
- JFR to pprof converter has been rewritten from scratch. It now works faster, produces accurate and compatible pprof files much smaller in size. The issue with disproportionate frames has been solved.
- Added support for allocation and lock profiles in pprof format.
- JFR-to-pprof converter now accepts the same arguments as JFR-to-html:
--alloc
,--threads
,--classify
,--from/--to
,--include/--exclude
, etc. - An option to produce gzip-compressed pprof files:
-o pb.gz
. - Flame graph colors now exactly correspond to frame types in JFR source (e.g., previously, C++ frames were sometimes displayed in red instead of yellow).
- Support HTML flame graph as an input format. Flame graph can be converted to .collapsed format or re-converted to .html with different options, e.g., reversed (
-r
) or filtered (-I/-X
). - Removed .nflx output. Support for better heatmaps will come soon.
- Added
--cpu
and--wall
options as shortcuts for--state DEFAULT
and--state RUNNABLE,SLEEPING
. - One-letter aliases:
-r
==--reverse
,-t
==--threads
,-X
==--exclude
, etc. - States can be abbreviated, e.g.
-s r
==--state RUNNABLE
. - Fixed handling of heterogeneous and concatenated JFR files.
- Improved conversion speed.
So far, the following conversions are supported:
- collapsed -> html, collapsed
- html -> html, collapsed
- jfr -> html, collapsed, pprof, pb.gz
sureshg, franz1981, vyazelenko, plokhotnyuk and dpsoft