Commit Graph

3311 Commits

Author SHA1 Message Date
cbf12f07f8 libsysprof-profiler: add reader and FD helpers for recording 2023-07-08 11:19:18 -07:00
db88129c81 libsysprof-capture: add API to duplicate underlying write FD
This is useful for use in our other libraries that may need access to these
to create document loaders for a completed writer.
2023-07-08 11:19:02 -07:00
008b9f4cc1 sysprof: add event count to recording pad and style like messagedialog 2023-07-08 10:29:00 -07:00
b56f0ad444 libsysprof-profile: add property for event count
So we can bind this to the recording pad and update it with each pass
through the loop.
2023-07-08 10:28:25 -07:00
7847aa1a74 sysprof: show recording duration 2023-07-07 17:37:04 -07:00
d5a13ccdb4 libsysprof-profile: add duration property for recording
So we can use this to update a recording timer view.
2023-07-07 17:36:56 -07:00
b48ff9d014 sysprof: add dialog to show files embedded in capture
This will likely need search and the ability to open the files and/or
display their content.
2023-07-07 17:12:34 -07:00
d9b42ec219 sysprof: wire up close_request to recording pad 2023-07-07 17:00:31 -07:00
92bc093d93 sysprof: start on recording pad while recording is active 2023-07-07 16:59:07 -07:00
3b98386ed2 libsysprof-profile: check for valid reader before calling cat 2023-07-07 16:08:57 -07:00
6b90e48bea libsysprof-profile: allow setting performance profile
This allows setting the net.hadess.PowerProfiles during the execution of
the Sysprof run. This is handy if you want to test in a specific mode (such
as performance) but not leave your system in that state.
2023-07-07 16:08:43 -07:00
5c65ddf0b2 sysprof: start on greeter window 2023-07-07 15:08:46 -07:00
24145578d3 sysprof: implement open action 2023-07-07 13:43:43 -07:00
33e03b4458 sysprof: add default app macro 2023-07-07 13:41:28 -07:00
d6539c1bdb sysprof: start on new application design 2023-07-07 13:12:55 -07:00
fc10c98e8d libsysprof-gtk: include sysprof-analyze.h 2023-07-07 13:01:07 -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
6197ad2082 libsysprof-gtk: add test to list files in UI 2023-07-06 16:01:48 -07:00
f772b82f66 libsysprof-analyze: expose files as a property 2023-07-06 15:53:48 -07:00
904815f4f6 libsysprof-gtk: add test to list processes time duration 2023-07-06 15:52:41 -07:00
82032c3aa4 libsysprof-gtk: bind expression to normalized series 2023-07-06 15:52:28 -07:00
fbd52438b5 libsysprof-gtk: fix property names 2023-07-06 15:52:20 -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
c3e0235d99 libsysprof-gtk: add some test menus 2023-07-06 11:44:00 -07:00
125ad56af5 libsysprof-gtk: include time when formatting memory value 2023-07-06 11:32:38 -07:00
5884636da5 libsysprof-analyze: add some string helpers 2023-07-06 11:32:23 -07:00
a0d5f0fc66 libsysprof-profile: set cwd when spawning process 2023-07-06 11:18:53 -07:00
c5af1f95c6 libsysprof-gtk: allow tracks to format values for display 2023-07-06 11:18:46 -07:00
4793b12ca2 libsysprof-profile: use GByteArray for read buffer
That way we aren't relying on the stack for access to buffer data.
2023-07-06 10:59:46 -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
ec77e2b2ff libsysprof-gtk: add more colors to color iter 2023-07-05 18:02:09 -07:00
6e13590f62 libsysprof-gtk: show counter values in informative 2023-07-05 17:54:46 -07:00
ccb7bb4f27 libsysprof-gtk: tweak fps line drawing 2023-07-05 17:54:35 -07:00
3ebea4823e libsysprof-gtk: add lookup item support for line points 2023-07-05 17:54:22 -07:00
1ac95756af libsysprof-gtk: use double math funcs and constants 2023-07-05 17:54:01 -07:00
68cda70138 libsysprof-analyze: add format helper 2023-07-05 17:53:44 -07:00
d865a0ed99 libsysprof-gtk: add style flag for fill 2023-07-05 17:30:16 -07:00
2810f65f18 libsysprof-gtk: use different colors for grouped counter layers
This way you can see them when overlaid on the same chart (such as for
CPU frequency).
2023-07-05 17:27:16 -07:00
f41e6e8917 libsysprof-gtk: add color iter for graph colors 2023-07-05 17:26:45 -07:00
ec593ed79c libsysprof-gtk: allow selecting items in timespan layer
Double clicking a time span will update the visible/selected span to match
what was selected.
2023-07-05 17:05:58 -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