Commit Graph

1927 Commits

Author SHA1 Message Date
f015e7b46c sysprof: add support for displaying embedded file content 2023-07-08 12:22:01 -07:00
19ce87d4fa sysprof: load recording when completed 2023-07-08 12:01:03 -07:00
030d575719 sysprof: add window API to load by FD 2023-07-08 12:00:54 -07:00
3e57c638d8 libsysprof-profile: don't discard unhandled messages
We want to re-use our future for messages until we've received something.
Otherwise, every iteration we discard a message.
2023-07-08 11:59:55 -07:00
5ac95f70fe libsysprof-profile: flush writer when recording stops
We need to at least submit this data to the underlying FD from our buffer
when we stop recording so that anyone consuming the FD will have access to
it. (Such as a SysprofDocumentLoader via FD).
2023-07-08 11:59:19 -07:00
0643a2a6b4 libsysprof-profile: add some logging information 2023-07-08 11:58:33 -07:00
72c6b06102 libsysprof-analyze: fix type in constructor 2023-07-08 11:57:57 -07:00
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