Commit Graph

12 Commits

Author SHA1 Message Date
64a886eea8 libsysprof-analyze: handle NULL process info
This can happen for "process 0" for example, or anything that was
recorded for a pid which did not get a SysprofCaptureProcess frame.
2023-05-15 14:33:41 -07:00
525b30a42f libsysprof-analyze: give symbolizer access to address context
The kallsym symbol resolver will need this to short-circuit unless we're
within a kernel address context.
2023-05-15 13:07:48 -07:00
ed030d2c25 libsysprof-analyze: fix nick for symbol 2023-05-15 10:56:09 -07:00
2d1bf107e5 libsysprof-analyze: handle section edge better 2023-05-11 15:37:59 -07:00
5d5f0a5085 libsysprof-analyze: plumb access to string pooling
We want various subsystems to start using this, but we need to plumb it
to the symbolizers to take advantage of it.
2023-05-11 13:09:50 -07:00
9b5e25037b libsysprof-analyze: add SysprofProcessInfo
This internal type is used to collect things about a process like the
memory maps, address layout, and symbol cache. This can persist once
parsed at startup, then applied to objects created on demand such as the
SysprofDocumentProcess or used by symbolizers internally rather than
complicated function arguments.
2023-05-11 12:21:32 -07:00
8f4fa95663 libsysprof-analyze: use mountnamespace/addresslayout in symbolize 2023-05-10 16:51:05 -07:00
b3a4c295c3 libsysprof-analyze: add basic symbol cache
This relies on begin/end range for the symbols to create something akin to
an interval tree, albeit with GSequence. If performance needs to be
addressed, can probably augment SysprofSymbol for an interval rbtree.
2023-05-10 15:14:09 -07:00
dd710329e5 libsysprof-analyze: keey gbytes around for decoded access 2023-05-09 13:39:21 -07:00
b625fec454 libsysprof-analyze: add basic symbolize API
This isn't what it will look like in final form, just get the minimum
there for us to use it with the bundled decoder (copied from libsysprof
with adaptations).
2023-05-09 13:29:52 -07:00
e0e1791b2d libsysprof-analyze: make lookup_file synchronous
Now that we have a lot of this indexed, it's fast enough to do on the
calling thread.

# Conflicts:
#	src/libsysprof-analyze/sysprof-document.c
#	src/libsysprof-analyze/sysprof-document.h
2023-05-09 12:36:59 -07:00
354eb39676 libsysprof-analyze: add API for bundled symbolizer
This, once completed, will use __symbols__ embedded within a capture file
to decode symbols rather than querying ELF files directly.
2023-05-03 17:08:50 -07:00