Commit Graph

2560 Commits

Author SHA1 Message Date
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
b587e35ada libsysprof: add test to convert .ninja_log to trace marks 2023-08-01 15:33:17 -07:00
4ef229d436 sysprof: fix missing type assurance 2023-08-01 15:33:01 -07:00
3c33ae06a0 sysprof: add dbus utility
This allows viewing the message contents that were captured in a textview
within the utility pane.

We already limit the max size of a message in the capture file, so
presumably messages are relatively small enough to fit here.
2023-08-01 11:20:24 -07:00
fa1c88eaf9 sysprof: bring back Hits column for descendants
This is helpful because it lets you know how reliable your percentages are.
2023-07-31 13:30:00 -07:00
aaafa8e9ef libsysprof: start naming some bits as app store
Probably can come up with better naming here, but it'd be nice to lay
blame where it makes sense.
2023-07-31 13:29:34 -07:00
d5f9cecec5 libsysprof: provide escape patch for listing traceables
We don't want this to get out of hand, so limit it to 1000 for now.
2023-07-31 12:16:51 -07:00
6f6228b1b5 libsysprof: sort indexes by size from smallest
This is just to help ensure we are not doing extra work that would fall
out of the visible range of the index.
2023-07-31 12:07:17 -07:00
fc888857c4 libsysprof-profile: fix signature of sysprof_perf_event_stream_new
Followup to 283da1e107
2023-07-31 17:43:00 +03:00
2529abc3db build: add missing header 2023-07-30 13:42:10 -07:00
a8ae41aafe sysprof: match memory augmentation type to capture format 2023-07-28 17:52:33 -07:00
2313936228 sysprof: fix some edge cases for allocation tracking 2023-07-28 17:51:37 -07:00
6082d5f277 Merge branch 'meson' of https://gitlab.gnome.org/tristan957/sysprof 2023-07-28 17:42:14 -07:00
438c42d0ae libsysprof: add a tool to list allocations by function (and children) 2023-07-28 13:04:09 -07:00
c087b71299 sysprof-cli: note about appending symbols to capture 2023-07-28 12:08:59 -07:00
602a4d7fa7 meson: remove unnecessary join_path() with get_option('prefix')
Meson will expand the paths for you.
2023-07-28 14:04:48 -05:00
f40587a38a meson: remove unnecessary argument nesting 2023-07-28 14:03:51 -05:00
50cfd82286 meson: remove extraneous default install_dir arguments 2023-07-28 14:02:33 -05:00
b10d056635 meson: use dependency('dl')
Added in Meson 0.62.0. It aids in finding libdl on various platforms.
2023-07-28 14:00:57 -05:00
f93767cfb2 meson: use variables for gio-2.0, glib-2.0, and gio-unix-2.0 2023-07-28 14:00:04 -05:00