Hotspot Versions Save

The Linux perf GUI for performance analysis.

v1.5.0

2 weeks ago

ChangeLog for hotspot v1.5.0

The hotspot v1.5.0 release is finally here :tada:

It comes packed with a wealth of code cleanups, bug fixes and new functionality. Most notably, the disassembly view has been further improved with better searching, highlighting and faster performance.

Screenshot_20240425_220335

Furthermore, we reworked the authentication mechanism to allow perf record get run directly with elevated priveleges via pkexec, obsoleting the error prone old mechanism (see also https://nvd.nist.gov/vuln/detail/CVE-2023-28144).

We now also fully support Qt6 and KF6, while keeping compatibility with Qt5 and KF5. The AppImage below is still build with Qt5 but it might be the last time that we do this. The next version might become Qt6 only.

Many thanks to the various contributors that help build this software, both by writing code as well as reporting bugs.

Happy profiling everyone :rocket:

What's Changed

New Contributors

Full Changelog: https://github.com/KDAB/hotspot/compare/v1.4.1...v1.5.0

NOTE: GitHub does not allow me to upload the AppImage directly anymore, you need to gunzip the compressed AppImage.gz first :shrug:

v1.4.1

1 year ago

This release fixes an issue with the AppImage when trying to export data to the .perfparser format. Additionally, packager builds from the tarballs should now work properly.

v1.4.0

1 year ago

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 Screenshot_20221202_225019
  • 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 https://github.com/KDAB/hotspot/issues/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 cycles are measured
  • new GitHub actions based CI and continuous AppImage build

continuous

3 years ago

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

3 years ago

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:

v1.2.0

4 years ago

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

6 years ago

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

6 years ago

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