KDAB / hotspot

The Linux perf GUI for performance analysis.
4.16k stars 257 forks source link

Can't show complete info in flame graph. #630

Closed futurehome closed 4 months ago

futurehome commented 6 months ago

Describe the bug The first time I use hotspot, I got the flamegraph as expected as below. 1714447562596_5DA6B62F-446D-4a30-B354-655E02600E68

Lator on, with the same code, and same run time, same setting, I can only get flamegraph like below, there are a lot of funcs missing, anything wrong? image

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Version Info (please complete the following information):

Additional context Add any other context about the problem here.

lievenhey commented 6 months ago

Which version are you using?

milianw commented 6 months ago

Export the data as a .perfparser file and give explicit steps needed to reproduce this

HybridDog commented 5 months ago

I may have the same problem. I use hotspot-v1.5.1-x86_64.AppImage. Hotspot shows a lot of error messages and there are more Invalid memory read requested by dwfl fffffffffffffff8 messages when the flamegraph misses information. I don't know if the error messages are related. broken_stderr.txt working_stderr.txt When I opened the file generated by perf the first time, the flame graph looked fine, but when opened it again, parts were missing. When I opened it again with hotspot-v1.4.1-301-g271a781-x86_64.AppImage or hotspot-continuous.AppImage, the parts were still missing.

milianw commented 5 months ago

Did you maybe recompile the application in between? That would invalidate the debug symbols and then resolution doesn't work afterwards.

Generally, as I said, give us a way to reproduce this error otherwise we cannot do anything about it

HybridDog commented 4 months ago

Yes, I've recompiled it and didn't know that this breaks the recording. So, my comment is probably offtopic. This is even explained in the Readme. I should have read that, sorry.