Commit Graph

364 Commits

Author SHA1 Message Date
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
68cda70138 libsysprof-analyze: add format helper 2023-07-05 17:53:44 -07:00
36aa121607 libsysprof-analyze: helper to list traceables by string search
This will let you take a callgraph and create a new GListModel containing
the original traceables but filtered with something like "_sysprof_*" to
get all traceables containing functions starting with "_sysprof_".
2023-07-05 16:53:44 -07:00
9263624fa0 libsysprof-gtk: add track for samples with context switches 2023-07-05 16:31:45 -07:00
2e0f046390 libsysprof-analyze: add aggregate marks by group
This is handy so that we can show aggregate results in other places without
using a FlattenListModel which can mess up event ordering.
2023-07-05 16:07:07 -07:00
9481c8e772 libsysprof-analyze: add duration helper 2023-06-30 15:02:46 -07:00
d8ba258051 libsysprof-analyze: give SysprofDocument a title 2023-06-30 13:23:54 -07:00
5220c6bc21 libsysprof-analyze: add getters for min/max value 2023-06-29 14:14:05 -07:00
756e647e21 libsysprof-analyze: add sysprof_document_find_counter()
This allows finding a specific counter without having to traverse them
all from consumer code.
2023-06-29 10:36:40 -07:00
4efb0abbf8 libsysprof-analyze: give counter values access to type
Otherwise they won't know how to return the proper value to callers.
2023-06-27 15:52:51 -07:00
e15050b568 libsysprof-analyze: fix calculation of number of counters 2023-06-27 13:54:04 -07:00
26346ec790 libsysprof-analyze: sort counter values by time 2023-06-27 13:00:33 -07:00
a880d02a84 libsysprof-analyze: remove debug code 2023-06-27 12:37:23 -07:00
886ff654a1 libsysprof-analyze: calculate counter range after adding values
Otherwise we are just calculating a null set.
2023-06-27 12:19:56 -07:00
514f913f40 libsysprof-gtk: use 0 instead of -inf/inf 2023-06-27 10:59:00 -07:00
696205aaf2 libsysprof-gtk: get expressions for x/y of counter values 2023-06-26 18:14:25 -07:00
6e08309881 libsysprof-analyze: fix pre-calculation 2023-06-26 18:08:37 -07:00
db0d5cce91 libsysprof-analyze: add counters property 2023-06-26 17:52:36 -07:00
d386f13051 libsysprof-analyze: pre-calculate ranges for counters 2023-06-26 17:52:27 -07:00
2b96da9567 libsysprof-analyze: add property for mark end time 2023-06-26 16:46:18 -07:00
453882a39a libsysprof-analyze: expose properties for some data 2023-06-26 16:39:43 -07:00
5c2f4dc0a9 libsysprof-analyze: remove old series implementations 2023-06-23 22:28:10 -07:00
13323c5e79 libsysprof-analyze: improve progress notifications 2023-06-21 22:06:42 -07:00
100b200995 libsysprof-analyze: allow series without a model
This can be useful when you want to generate some data for graphs.
2023-06-20 17:18:57 -07:00
982eee7f31 libsysprof-analyze: return NULL if series is empty 2023-06-20 15:34:43 -07:00
b40be19530 libsysprof-analyze: add test for symbol collision 2023-06-20 14:24:02 -07:00
07d08597ba libsysprof-analyze: handle collision in symbol cache
If we have two nodes that collide for address space, we need to keep the
one we already have in the symbol cache. The other node cannot be cached
and will be dropped instead.

This fixes a leak when collisions occur.
2023-06-20 14:23:46 -07:00