Releases: KDAB/hotspot
v1.4.1 - minor packaging bugfixes
v1.4.0 - better disassembly view and more
This feature release contains close to 400 commits since the last stable v1.3.0 release. It comes with its usual assorted list of bug fixes and performance improvements. Additionally, there are some new noteworthy features:
- a greatly improved disassembly view with a godbolt-like source code annotation

- the self cost columns for tracepoints are now hidden by default, as they would always show 0 except for the function that contains the tracepoint. the inclusive cost column is much more useful
- more flexible window layouting with KDDockWidgets
- you can export and import data from hotspot in a custom format that is efficient to load and self-contained, meaning exported data can be read on any other machine with hotspot and does not require access to the original client application code for unwinding anymore
note: this feature is broken in this release when using the AppImage, see #441 and stay tuned for a 1.4.1 release that will contain a fix for this issue - analysis data can be grouped by thread, process or CPU
- demangling for the D programming language
- a new frequency page that shows how often certain events got measured, which can also indicate the CPU frequency scaling when
cyclesare measured - new GitHub actions based CI and continuous AppImage build
Continuous build
NOTE: The continuous build tag is obsolete. We now rely on GitHub actions to create the AppImage.
To download, go to the list of build jobs for the main branch. When you click on a job, you'll see a page with an "Artifacts" section that contains an "appimage" binary you can then download.
v1.3.0 - performance improvements, zstd compression and rust demangling support
Hotspot became much faster at interpreting data for large complex applications: Analyzing perf.data files for firefox e.g. with its monster libxul is now magnitudes faster than it was previously.
On top of that, we now properly support analysis of zstd compressed data files, i.e. those obtained via perf record -z. This feature easily reduces the size of the perf.data files by one to two orders of magnitude.
The timeline has been improved and now shows tick marks on the time axes, as well as smart time unit prefixes when zoomed in.
Additionally, hotspot can now demangle rustc symbols. And finally the perfparser submodule was updated with tons of fixes and improvements, such as better support for fork-based parallelism.
Fixed issues in this release:
- #116: Unable to widen "Symbol" column in Top Down view
- #173: Feature Request: Support gksu for "Profile System" in AppImage
- #189: better formatting of times and trace costs in flamegraph and tooltips
- #190: fix time formatting
- #192: Loading a trace is much slower in 1.2 than in 1.1
- #197: Perfparser exits with code 1 (TCP Socket error) when opening a perf.data file
- #205: feature: open editor on function
- #220: group threads by process
- #224: android simpleperf support
- #230: Timeline part takes too much space
- #234: Profile system is broken
- #236: README required dependencies (QT5) out of date with master branch cmake
- #237: proper rust symbol demangling
- #239: enable rust demangling for appimages
- #241: Perfparser/Hotspot cannot unwind the stack for fork() of created processes
- #243: feature: auto-expand bottom-up tree
v1.2.0 - adds off-CPU profiling support
Hotspot can now be used to analyze off-CPU time, i.e. time where your application is switched out and not running. This can be used to find heavy lock contention, synchronous I/O wait time and more. The record page offers a simple check box to enable this feature. If you run perf record directly from the command line and only use hotspot to visualize the results, make sure to pass the following flags:
perf record --call-graph dwarf -e cycles -e sched:sched_switch --switch-events --sample-cpu ...
The record page in hotspot now also has the capability to elevate your user permissions temporarily using kdesu, to allow recording of e.g. off-CPU data even as non-root.
The v1.2.0 release also adds quite a few bug fixes, performance improvements and also some other new features. Notable is the addition of a per-CPU core event timeline, which depends on the --sample-cpu flag being passed to perf record. Furthermore, you can now filter events by symbols: Right click on any of the data tables or views and then select the 'filter in/out by symbol` action.
v1.1.0 - adds event timeline and record page
Hey all,
I have the pleasure to finally announce the availability of hotspot v1.1.0. Hotspot is a GUI for Linux perf. Right now, it's a drop-in replacement for (parts of) perf report. It aims to be easier to use, but comes with powerful features to analyze the profiler data. This release adds
- event time line with advanced filtering capabilities
- record page to run perf on newly launched applications or to attach to running processes
- AppImage for easier consumption, esp. on older distros
The full release announcement contains pretty screenshots:
https://www.kdab.com/hotspot-v1-1-0-adds-timeline-recording-features/
Thanks, hope you like it. If so, please consider contributing:
Patches: https://github.com/KDAB/hotspot/pulls
Bug Reports: https://github.com/KDAB/hotspot/issues
NOTE: The GitHub-provided source tarballs do not contain the required perfparser submodule. Either download that separately, or directly use one of the hotspot-v1.1.0.{tar.gz,zip} source packages, which should be self-contained.
md5sum:
52eed6f8a78451ef6c44e541624de947 hotspot-v1.1.0.tar.gz
273cb3d6a5508254caed6ee5296689e6 hotspot-v1.1.0-x86_64.AppImage
09b3b90a18936bed58558955113d0135 hotspot-v1.1.0.zip
sha1sum:
3cef6822da0f29fb5f37b272f3d4154217628214 hotspot-v1.1.0.tar.gz
143131ff5a0a071740d7401c9ca24a9f3497b7d9 hotspot-v1.1.0-x86_64.AppImage
2d22a815c90102437cf7f3449c2469afa5b8df4f hotspot-v1.1.0.zip
Cheers
v1.0.0 - first public release
Hey all,
I have the pleasure to finally announce the availability of hotspot v1.0.0. Hotspot is a GUI for Linux perf. Right now, it's a drop-in replacement for (parts of) perf report. It aims to be easier to use, but comes with powerful features to analyze the profiler data:
- summary view
- bottom-up, top-down and caller/callee aggregations
- tooltips, searching, sorting etc. as expected from an interactive GUI
- integrated flamegraph (probably the most important feature)
- ability to show multiple event metrics side-by-side
The full release announcement contains pretty screenshots:
https://www.kdab.com/hotspot-gui-linux-perf-profiler/
Thanks, hope you like it. If so, please consider contributing:
Patches: https://github.com/KDAB/hotspot/pulls
Bug Reports: https://github.com/KDAB/hotspot/issues
NOTE: The GitHub-provided source tarballs do not contain the required perfparser submodule. Either download that separately, or directly use one of the hotspot-v1.0.0.{tar.gz,zip} source packages, which should be self-contained.
Cheers