Commit Graph

390 Commits

Author SHA1 Message Date
59b6165816 libsysprof-analyze: do not symbolize fallback symbols
These just waste a bunch of space in the capture file and we can instead
generate them on the fly when loading the document.
2023-07-17 17:51:03 -07:00
dbabe87b3d libsysprof-analyze: add API to serialize symbol cache
This will allow us to put the symbol cache back in the __symbols__ file
like we did for online symbol resolution in previous versions.
2023-07-17 17:35:34 -07:00
a701b03b03 libsysprof-analyze: format header 2023-07-17 16:05:25 -07:00
1fba250444 build: drop legacy v2 service and simplify build system
This removes -Dagent and just uses -Dtools as it only affects sysprof-cli
and sysprof-agent. We still need to patch sysprof-cli for recent changes
as we did for sysprof-agent though.

Additionally, we haven't used the v2 service in forever, so drop that as
I can't imagine anyone has been using it.
2023-07-17 15:11:10 -07:00
cdbf3508f6 libsysprof-analyze: include thread info in processes 2023-07-17 12:33:49 -07:00
05349f9759 libsysprof-analyze: add sysprof-thread-info.h header 2023-07-17 12:33:37 -07:00
68abadbdd8 libsysprof-analyze: ensure pid info structure for exit time 2023-07-17 12:26:09 -07:00
c1cfc1e210 libsysprof-analyze: add basic tracking of threads
It's nice to have a list of threads that are in a process and make that
available as a listmodel of the process. We can use this to show more
information in the UI at some point.
2023-07-17 12:25:59 -07:00
12e75e4c8c build: remove libsysprof
This library is going away now that we have -analyze and -profile libs.
2023-07-17 11:38:25 -07:00
6dd8f7014f libsysprof-analyze: add property for counter value as a string 2023-07-14 20:09:05 -07:00
0ae27cd7bb libsysprof-analyze: give counter values backpointer and time-offset
That way we can do more things when databinding into the UI such as show
the counter category/name.
2023-07-14 17:52:34 -07:00
7b3b37c28e libsysprof-analyze: add key property to counters
this can be handy for filtering.
2023-07-14 16:26:53 -07:00
7ff844d4ec libsysprof-analyze: add bitset index n-items property 2023-07-14 15:07:17 -07:00
15df36f6c2 libsysprof-analyze: add tooltip helpers to data models 2023-07-14 13:11:48 -07:00
6f76432a17 sysprof: add support for bottom up stack traces
Keep the "All Processes" and "Process N" nodes, but reverse the stack
trace after that point.
2023-07-13 21:23:21 -07:00
d649d42aed libsysprof-analyze: add equality function
This is helpful to see if two frames are the same underlying data frame.
2023-07-13 18:02:21 -07:00
36414c8ec3 libsysprof-analyze: add some helper names to frames 2023-07-13 17:41:20 -07:00
0bc18816d8 libsysprof-analyze: remove 32-bit time_offset optimization
This simply isn't worth the memory saves for the loss of precision. Just
use a 64-bit and store the actual time offset.
2023-07-13 14:36:40 -07:00
f39723c2e6 libsysprof-analyze: add equal func for timespan 2023-07-13 11:04:01 -07:00
7c02b0f62c libsysprof-analyze: include CPU core-id 2023-07-13 08:43:49 -07:00
52090e1f77 libsysprof-analyze: add marks property 2023-07-12 18:02:10 -07:00
78a17d5d52 libsysprof-analyze: add API to get CPU info as objects
This can be handy to use from UI so we can bind it to UI elements.
2023-07-12 11:24:18 -07:00
6075a0cd91 build: fix log domains 2023-07-11 13:32:09 -07:00
8c3fef768d libsysprof-analyze: expose properties for mmaps and mounts 2023-07-10 16:18:42 -07:00
77a305f3bf libsysprof-analyze: runtime protection against NULL names
Shouldn't happen, but at least don't crash.
2023-07-10 14:35:38 -07:00
a4276f5b8f libsysprof-analyze: allow two pointers for augmentation
This affords us the ability to shove memory statistics in the inline
augmentation area for memprof data.
2023-07-10 14:15:03 -07:00
d47a7b0791 libsysprof-analyze: add process title including PID 2023-07-10 13:42:56 -07:00
f003482afb libsysprof-analyze: update end-times after process pool is created
These largely get created when processing the load of various document
pieces. Wait until the end so that we actually have something to update.
2023-07-10 13:31:13 -07:00
a08a14374b libsysprof-analyze: cleanup various swap bytes code 2023-07-10 12:21:00 -07:00
26ceab43f5 libsysprof-analyze: ensure end time is > begin time 2023-07-10 12:15:13 -07:00
c0b46530a4 libsysprof-analyze: fix various swap calculations 2023-07-10 12:10:49 -07:00
3accd82af2 libsysprof-analyze: add property for compressed status 2023-07-09 15:34:43 -07:00
0a379647dd libsysprof-analyze: add size property for files 2023-07-08 13:08:57 -07:00
d8030ebf8b libsysprof-analyze: ensure we inflate Metadata objects 2023-07-08 12:45:41 -07:00
052f44ccb0 libsysprof-analyze: expose metadata as a property of Document 2023-07-08 12:40:50 -07:00
72c6b06102 libsysprof-analyze: fix type in constructor 2023-07-08 11:57:57 -07:00
d993bf3d37 libsysprof-analyze: expose logs as document property
# Conflicts:
#	src/libsysprof-analyze/sysprof-document.c
2023-07-06 16:53:38 -07:00
f772b82f66 libsysprof-analyze: expose files as a property 2023-07-06 15:53:48 -07:00
b3f8b45b16 libsysprof-analyze: add duration property to process
This is a bit easier to bind to a chart since we need the expression as
a duration rather than the end time.
2023-07-06 15:33:56 -07:00
a999a8a455 libsysprof-analyze: expose processes as property 2023-07-06 15:20:11 -07:00
51abce735c libsysprof-analyze: ensure exit-time is >= spawn time 2023-07-06 15:00:59 -07:00
f7bdebe1a8 libsysprof-analyze: ensure all process info get an exit time 2023-07-06 14:59:08 -07:00
58a089fb94 libsysprof-analyze: expose exit-time as a property 2023-07-06 14:58:53 -07:00
2b29ce8e73 libsysprof-analyze: record exit time of processes
This will allow us to treat them as a duration in a chart.
2023-07-06 14:52:02 -07:00
65a567f0d1 libsysprof-analyze: cleanup some signed-int bswap 2023-07-06 14:51:41 -07:00
c0a7a94d52 libsysprof-analyze: add flag to ignore system libraries 2023-07-06 12:13:23 -07:00
5884636da5 libsysprof-analyze: add some string helpers 2023-07-06 11:32:23 -07:00
7f23fd5e9e libsysprof-analyze: pre-sort frames during loading
That way we can be sure that we only have to look forward to find closing
pairs of operation (such as allocation/free, or appended capture data from
controlfd ring buffers).
2023-07-06 10:19:55 -07:00
9fd20c306f libsysprof-analyze: warn on non-aligned or short-frames
And bail doing any further processing on the capture.
2023-07-06 10:18:52 -07:00
7d93b9f581 libsysprof-analyze: add stack traces w/o kernel context
This restores the functionality we had previously for user vs kernel.
2023-07-05 18:06:42 -07:00