Hello! Two new features for you this time!
Live Viewer Updates
- spark can now continuously stream profiling data to the viewer while the profiler is running.
- To use this new feature, just run /spark profiler open after starting a profiler. It also works for the background profiler

- The profiling data will refresh every minute, and the statistics (shown in the widgets at the top of the page) refresh every 10 seconds.
- The 'rings' in the top right corner of the viewer indicate when the next data update is expected.
(Memory) Allocation Profiling
In summary, as well as profiling
how long a method took to execute (this is what the current profiler does), spark can now also record how much memory each method allocates.
- This is based on the allocation profiling feature in async-profiler, so you can read more about the technical details here: https://github.com/jvm-profiling-tools/async-profiler#allocation-profiling
- In summary, like the CPU profiler, it still uses sampling not instrumentation, so the performance impact should be minimal.
- The spark viewer UI has been updated to support the changes, including showing bytes instead of time when appropriate.
- The output can be shown as a percentage of the total (like the existing profiler) or as bytes allocated per second.
- The command is /spark profiler start --alloc
There are also a few other misc changes in this release. You can see the full changelog here:
https://spark.lucko.me/changelog
Cheers
