[HN Gopher] Hotspot: Linux `perf` GUI for performance analysis
       ___________________________________________________________________
        
       Hotspot: Linux `perf` GUI for performance analysis
        
       Author : jez
       Score  : 95 points
       Date   : 2025-05-19 21:33 UTC (3 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | gue-ni wrote:
       | Fun fact: firefox also supports loading 'perf' reports:
       | https://profiler.firefox.com/
        
         | the8472 wrote:
         | useful for small profiles, but it blows up on larger ones.
         | hotspot handles multi-gigabytes recordings fine on the same
         | hardware.
        
           | milianw wrote:
           | I still think we should find a way to integrate the two
           | somehow - i.e. analyze locally and then send the pre-analyzed
           | data for visualization purposes to the remote firefox
           | profiler. Does anyone know a good format we could use for
           | that purpose? It needs to be non-verbose to not hit the
           | infamous 2GB/4GB JSON heap size limitation on import e.g.
           | Similarly, we also need something that can deal with the
           | various cost types we support in hotspot, most notably off-
           | CPU time.
        
             | pityJuke wrote:
             | samply [0] does something to send data to Firefox Profiler
             | that I've had better results with compared to the regular
             | import.
             | 
             | [0]: https://github.com/mstange/samply
        
       | fransje26 wrote:
       | Great tool that has been really helpful in helping me find
       | unexpected bottlenecks in the codebases I've been working on.
       | 
       | It's easy to use, and pairs beautifully with the unintrusive perf
       | tool, which makes the combination a joy to use.
       | 
       | And, if combined with a codebase opened in QtCreator, you can
       | click on a hotspot in the flamegraph, and it will bring you
       | automagically to the correct file and line in QtCreator, without
       | any explicit linking required between the two programs. I
       | discovered that feature accidentally, and the fact that it just
       | worked seamlessly really impressed me. (Tested on a Debian-based
       | Linux).
       | 
       | A big thanks to KDAB for making this tool available to us!
        
         | milianw wrote:
         | You are welcome :)
         | 
         | And to people using other IDE/editors - you can configure which
         | one gets opened when you click on a source line from the
         | hotspot settings. QtCreator is just the default (when that is
         | installed).
        
           | kvemkon wrote:
           | It's a pity, Hotspot is abandoned in Debian. Just because of
           | policykit [1]. The package seems to be rather easy to
           | maintain (it has a tiny rule file, small control and only 2
           | patches).
           | 
           | [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025573
        
           | fransje26 wrote:
           | And, of course, a big thanks to you for writing this tool!
           | :-)
        
       | pjmlp wrote:
       | Nice tool, thanks for the heads up.
        
       | ognarb wrote:
       | From the same author, Heaptrack to investigate memory usage is
       | also very helpful: https://invent.kde.org/sdk/heaptrack/
        
         | throwaway0665 wrote:
         | I just assumed they used the same gui toolkit. Awesome to hear
         | they're from the same author.
        
           | mananaysiempre wrote:
           | (The toolkit is Qt.)
        
       | directmusic wrote:
       | I primarily do macOS development work and use Instruments for
       | profiling, but have been working on Linux a lot lately and
       | Hotspot has been pulled out a lot over the last few weeks. Highly
       | recommended.
        
       | wizzledonker wrote:
       | This is a fantastic tool and I recommend it! I use it every day
       | to recursively solve bottlenecks in our code base.
        
       | grandinj wrote:
       | Wonderful tool. Has been incredibly useful in optimising
       | LibreOffice.
        
       | drewg123 wrote:
       | I'm on FreeBSD, so its a lot of overhead to check myself: But,
       | does this have a source view like Vtune, that can attribute
       | cycles / cache misses / etc, to a line of code? I see it has an
       | assembly view..
        
       | dustbunny wrote:
       | I couldn't figure out how to use hotspot. I used speedscope
       | instead: https://www.speedscope.app/
       | 
       | Maybe I should check out hotspot again.
        
       ___________________________________________________________________
       (page generated 2025-05-22 23:01 UTC)