I've been working on a viewer for behavior of YJIT (the ruby JIT I work on at work). It is very early, but I figured I'd share what I have so far. Here's a little gif of it currently. Right now, I capture more data than I display. I also have more data I need to capture. I built this view with rust and skia. It has worked out pretty well. What doesn't work that well is graphviz for graphs. There are so many interactive things I want to do with graphs and graphviz just isn't cutting it.
What you are seeing is all the ruby methods (grouped by files) that we compiled. The little graphs next to each method are the blocks we compiled. Their width is relative to the size in bytes of the disassembly of the machine code. Red nodes are exit nodes.