This is spall loading a 200 MB trace file and getting basic runtime stats for about a minute of recorded program runtime in real-time
Heads up! Spall isn't a great user-experience on mobile due to the serious memory and screen constraints most mobile devices have. If you've got a laptop or a desktop, you should use that instead!
For Web-Profiler Vets
If you're an old-hat with
perfetto, you should feel right at home.
spall supports most of the
perfetto JSON format. You should be able to get
off and running with your existing files, feel free to jump right in.
For Everybody Else
If you'd like more of a briefer on profilers and how to use spall, keep reading!
Profilers typically come in two flavors, sampling or tracing (or sometimes a hybrid of the two). spall (at least right now) is a tracing profiler, which means that to use it, you mark down when your functions begin and end, write them to a file, and then spall will render them out on a timeline for you.
spall includes a small, single-header C library
to make that easy. For relatively simple programs using clang or gcc, you can
-finstrument-functions to instrument your whole program quickly.
More language support is planned soon, so keep an eye out!
There are some very simple examples over here.
Once you've got your program instrumented, you can drag-and-drop or click "open file" at the top left, and select your .spall or .json file, and get started.
Clicking and dragging moves the view around and scrolling zooms in and out
Clicking on an event brings up some basic information about it
Shift-click allows you to select a chunk of events to run stats on
Get All Stats
Clicking on the "get stats for the whole file" button at the top left runs stats for your whole program
You've got the basics at this point, go have fun!