79fe14a587
sysprof: open files
...
I wanted to have the ability to ignore bundled symbols and provide a custom
kallsyms to help with some perculiar situations, but we might need to
defer that to a preferences window.
2023-08-07 13:39:14 -07:00
c38c1fb4b0
libsysprof: allow specifying phase for subprocess output
...
This is helpful in that you can specify which phase of the capture the
process should be run so that it's less likely to show up on profiles.
2023-08-07 12:54:46 -07:00
4250abf81e
libsysprof: setup perf streams in prepare
...
This starts the perf streams from prepare instead of from record so that
we can do the linux instrument work in prepare. The samples are dropped
until our start-time is set.
Doing it this way removes sysprof-cli and sysprofd greatly from the
overhead in the callgraph which is useful so that the user gets to see
what they really care about.
It has the added benefit that we're less likely to see the pkla processes
showing up from authorizing our D-Bus connection for creating per streams.
2023-08-07 12:14:32 -07:00
841291bae7
window: remove unused preferences menu item
2023-08-06 18:00:14 -07:00
053271f946
sysprof: implement document saving
2023-08-06 17:59:50 -07:00
bf7f275ec2
sysprof: allow selecting a power porofile
2023-08-06 17:42:20 -07:00
d9932de4ff
libsysprof: remove unused code
2023-08-06 16:32:37 -07:00
56332e0071
libsysprof: remove lsusb from linux instrument
...
This is done more generically now with the graphical recorder.
2023-08-06 15:59:41 -07:00
2fa355a323
sysprof: add toggle for hardware information via lspci/lsusb
2023-08-06 15:58:32 -07:00
9ab48d6eeb
tools: add glxinfo/eglinfo to cli/agent variants
...
Always do it here for now unless we really find a reason to not have it.
2023-08-06 15:45:33 -07:00
fd6e9c964e
libsysprof: remove glxinfo/eglinfo from linux device
...
This is a separate instrument now.
2023-08-06 15:43:22 -07:00
a7ef13c087
sysprof: add toggle for graphics device info
...
From glxinfo and eglinfo.
2023-08-06 15:42:30 -07:00
15d9cbc28f
libsysprof: add test for subprocess output
2023-08-06 14:51:42 -07:00
433dff95ce
libsysprof: add helper instrument for subprocess output
2023-08-06 14:51:42 -07:00
fe4995cf1f
libsysprof: synchronize access to tid symbols hashtable
...
This can get mutated after the document is loaded, so we need to
synchronize access to it.
2023-08-06 02:18:43 -07:00
9cbfc21363
sysprof: add allocated size column to memory callgraph
2023-08-06 02:11:36 -07:00
4a89ee829d
sysprof: tweak spacing for greeter buttons
...
This looks a bit closer to Builder.
2023-08-06 02:00:39 -07:00
8dda47f277
sysprof: use raised style for bottom bar
2023-08-06 01:44:02 -07:00
3b77ceb469
sysprof: use template to create profiler
2023-08-06 01:40:49 -07:00
57aabaf6f9
sysprof: start wiring up template to controls
2023-08-06 01:14:10 -07:00
8bf8b4455f
sysprof: add SysprofRecordingTemplate
...
The goal here is to have a backing object that represents what we want to
record so it becomes easier later on to save/restore state.
2023-08-06 00:44:41 -07:00
827541e88c
sysprof: add toggle for CPU usage
2023-08-06 00:44:04 -07:00
19cd4dca01
sysprof: iterate on updated greeter design
2023-08-05 23:42:57 -07:00
da7b75e8dc
sysprof: add icon for symbols
2023-08-05 23:42:57 -07:00
c5517c0ead
libsysprof: try to break cycles at end of recording
2023-08-05 23:42:57 -07:00
506c2bcc4f
sysprof: setup mnemonic for greeter
2023-08-05 14:35:55 -07:00
4130bc3284
sysprof: add note about recording
2023-08-04 22:54:35 -07:00
53f4a33de2
sysprof: add buttons to open on capture page
2023-08-04 22:38:22 -07:00
a79e4a52be
sysprof: remove recent page
...
We won't really have time to do this during the 45 cycle so remove it.
2023-08-04 21:53:46 -07:00
53483feb67
sysprof: shorten lable to CPU
2023-08-04 21:04:50 -07:00
3ddf806f92
libsysprof: avoid fork amplification from recording
2023-08-04 16:00:01 -07:00
51e1e4ef4b
Revert "libsysprof: do process setup before recording starts"
...
This reverts commit a286c2a8cb .
This is needed so that we get better system info currently for
processes spawned by sysprof-cli.
2023-08-04 15:36:13 -07:00
56680ae12f
libsysprof: implement follow fork instead of tracking spawnable
2023-08-04 15:31:00 -07:00
48e94181a7
libsysprof: remove unused GObjectClass
2023-08-04 15:30:04 -07:00
c705bae53e
libsysprof: notify instruments of process spawn
2023-08-04 15:02:38 -07:00
f217d788ee
libsysprof: avoid g_type_instance constructor/destructors
2023-08-04 14:34:59 -07:00
dc560d6de5
libsysprof: add type system category
...
Include various introspection and GObject things within that.
2023-08-04 14:25:46 -07:00
40e8a02cab
sysprof: ignore process 0 by default
2023-08-04 13:19:34 -07:00
fea7a11698
sysprof: allow ignoring process 0
...
The idle process is sort of a catch-all at times, and so if you remove it
that can make it easier to get more reasonble percentages from the rest
of the system.
2023-08-04 13:18:39 -07:00
6ac730629f
libsysprof: add API to ignore the idle process (pid 0)
2023-08-04 12:39:12 -07:00
0ae8765c0e
libsysprof: remove unused finalize
2023-08-04 12:31:33 -07:00
a286c2a8cb
libsysprof: do process setup before recording starts
...
Otherwise we end up recording ourselves too much. Do it before even though
there is a small race condition chance to miss a process spawning at the
time between prepare and record.
2023-08-04 12:17:30 -07:00
b2ce9efbb4
libsysprof: get various process info during prepare
...
That way it doesn't show up on the profiles themselves.
2023-08-04 12:11:19 -07:00
bd2d97c309
sysprof: dispose dbus utility children
2023-08-04 10:07:18 -07:00
2c0f055af1
build: make sysprof-journald-source.c conditional
...
Fixes #88
2023-08-02 11:57:32 -07:00
4953082178
sysprof: keep size column more stable
2023-08-02 10:16:51 -07:00
78f4d1b37e
libsysprof: add capture time as metadata
...
This is actually readable to the user and doesn't require dealing with
SysprofCaptureFileHeader data.
2023-08-02 10:11:54 -07:00
61f94957d3
libsysprof: use #if instead of #ifdef for HAVE_LIBSYSTEMD
...
Fixes #88
2023-08-02 10:00:32 -07:00
95a3177623
Revert "meson: remove unnecessary join_path() with get_option('prefix')"
...
This reverts commit 602a4d7fa7 .
You absolutely must have these paths expanded when in use in system files.
2023-08-01 19:21:41 -07:00
181963fb73
libsysprof: swap fields for marks
2023-08-01 15:37:09 -07:00