Commit Graph

12 Commits

Author SHA1 Message Date
2a65bf30af libsysprof-analyze: add symbol kind property for symbols
Additionally, add the pid as the binary nick for processes so that we can
show them in the callgraph with the process name.
2023-06-14 12:08:23 -07:00
ca0cff6446 libsysprof-analyze: fix binary-nick usage 2023-06-08 17:29:27 -07:00
c5f4d64a4c libsysprof-analyze: use old style relative address generation
Copy this from the old decoder so it's not something to worry about.
2023-05-25 12:53:13 -07:00
bc482f628b libsysprof-analyze: bridge debug dirs to ELF loader 2023-05-23 10:44:03 -07:00
e38eae7aa7 libsysprof-analyze: sanitize address ranges
That way we are clamped to what the mapping actually provides. This only
seems to get messed up with glibc, but not clear why and it's barely off
so perhaps it has some special mapping tricks it does.

I still notice some non-reproducible runs, but that appears to be related
to duplicate address mapping entries for [stack] which we need to clear
up by removing the duplicate (short) entry.
2023-05-22 20:06:12 -07:00
59a6f852a0 libsysprof-analyze: always ignore jitmap from elf symbolizer 2023-05-22 19:05:41 -07:00
05d5bc6c77 libsysprof-analyze: fix format to match other use 2023-05-22 19:05:25 -07:00
d7f6e4b922 libsysprof-analyze: add some common tags
It's nice to have various labels on subsystems used on the desktop, so add
some common ones here that are part of the platform.
2023-05-19 16:19:29 -07:00
167255be45 libsysprof-analyze: implement basics of ELF symbolizer
There are still lots of kinks to iron out of this, but it gets some of the
basic plumbing in place for symbolizing. Particularly, we're not at all
yet addressing the overlays in the capture which will be needed to do some
handling of Flatpak/Podman processes.

Basic build-id/file-inode checks are done, but we just return NULL in those
cases (unlike previously in Sysprof where we would say "Inode Mismatch". In
those cases the fallback path is hit now which will just give a file path
plus instruction-pointer offset. We can show more details though in the
future now that we have more objects to represent things.
2023-05-19 15:53:41 -07:00
6d86d55d61 libsysprof-analyze: give address in file/function
This at least gives more visibility into what location of the file is
being executed. That way you can separate different parts of the file
rather than one giant "this file" so long as we could unwind successfully.
2023-05-16 12:43:33 -07:00
09b8c1f737 libsysprof-analyze: leave some notes on elf symbolizing 2023-05-15 16:49:40 -07:00
140bc1d384 libsysprof-analyze: add scaffolding for elf symbol resolver 2023-05-15 15:03:25 -07:00