Commit Graph

3760 Commits

Author SHA1 Message Date
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
ae93716c76 Update Ukrainian translation 2023-08-07 16:07:12 +00:00
010d45ef06 Update Georgian translation 2023-08-07 12:29:35 +00:00
cd55f0db2a Update Persian translation 2023-08-07 07:54:40 +00: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
970cb457d5 Update Georgian translation 2023-08-06 17:54:45 +00:00
6bbf648ff3 Update Ukrainian translation 2023-08-06 12:34:32 +00: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
4cefda5709 Update Georgian translation 2023-08-06 04:09:57 +00:00
506c2bcc4f sysprof: setup mnemonic for greeter 2023-08-05 14:35:55 -07:00
e6a9d249f2 Update Persian translation 2023-08-05 12:03:20 +00:00
9bfa8bff42 Update Basque translation 2023-08-05 08:26:25 +00:00
bb5af2eed6 Update Ukrainian translation 2023-08-05 06:50:13 +00: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
60f8e0bc0a Update Georgian translation 2023-08-05 05:12:54 +00: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