jlfwong / speedscope

🔬 A fast, interactive web-based viewer for performance profiles.
https://www.speedscope.app
MIT License
5.58k stars 247 forks source link

Java Flight Recorder support #397

Open vasi opened 2 years ago

vasi commented 2 years ago

Would y'all be interested if I implemented JFR support? There's not really any official format documentation, but there's some basic docs here and an Apache licensed Java parser to steal from.

Unfortunately it's a binary format, but there's good support for binary reads in JS nowadays, so it ought to be possible.

Another complication is that JFR files can support multiple concurrent profiles, for example both an alloc and CPU profile in the same file. It's not clear what we should do given such a file.

parttimenerd commented 2 years ago

Reading the JFR format in JS is considerable effort and possibly leads to maintenance issues.

parttimenerd commented 2 years ago

A converter with basic support can be found here: https://github.com/parttimenerd/jfrtofp

@jlfwong is there the possibility to add this to your converter pages?