Skip to content

Releases: KDAB/hotspot

continuous

22 Oct 14:17
Compare
Choose a tag to compare
continuous Pre-release
Pre-release

The newest version directly from the master branch. THIS IS BLEEDING ENDGE AND WILL MOST LIKELY CONTAIN UNKOWN BUGS.

v1.5.1 - bug fix release

28 May 14:18
Compare
Choose a tag to compare

This fixes an issue with an outdated version of elfutils in the appimage.

Features

Bug Fixes

  • add a wrapper for std::valarray to catch out of range access (d8de369), closes #629
  • can't select directory in unwind->sysroot (f6a4e8f), closes #645
  • clear flamegraph background in 5.15.12 (8e54107), closes #624
  • crash in disassembler on hover (4cfdd11), closes #642
  • don't show ansi escape sequences in tooltip (ed8cf88)
  • update elfutils to 0.190 (e4ac31e)

qt-kde-debuginfo

28 May 13:50
Compare
Choose a tag to compare

Qt and KDE debug symbols

v1.5.0

25 Apr 20:06
Compare
Choose a tag to compare

ChangeLog for hotspot v1.5.0

The hotspot v1.5.0 release is finally here 🎉

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 🚀

What's Changed

New Contributors

Full Changelog: 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 🤷

v1.4.1 - minor packaging bugfixes

21 Dec 11:02
Compare
Choose a tag to compare

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 - better disassembly view and more

02 Dec 21:50
Compare
Choose a tag to compare

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 #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

v1.3.0 - performance improvements, zstd compression and rust demangling support

31 Aug 15:57
Compare
Choose a tag to compare

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

20 May 20:44
Compare
Choose a tag to compare

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

28 Sep 15:17
Compare
Choose a tag to compare

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

06 Jul 11:35
Compare
Choose a tag to compare

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