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