Commit Graph

2288 Commits

Author SHA1 Message Date
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
dd4686404c libsysprof: ensure we always have trailing \0 on bytes
This is needed so that our invariants elsewhere are maintained.
2023-07-28 11:59:32 -07:00
79ba6ab3d5 meson: remove explicit pkgconfig install_dir
This is the default.
2023-07-28 13:09:48 -05:00
afe71d7562 libsysprof: add coredump category
This just makes it easier to see if the time spent on something was
related to a coredump handler in the kernel.
2023-07-28 10:49:14 -07:00
e47371e940 greeter: add plumbing for gjs trace fd 2023-07-27 15:59:23 -07:00
3a74254f73 tools: use sysprof_tracefd_consumer_new
This just allows us to avoid some duplicated code.
2023-07-27 15:49:34 -07:00
048e366ea9 libsysprof: add a SysprofTracefdConsumer
This is meant to simplify the proxying of data from a tracefd into the
destination capture.
2023-07-27 15:40:59 -07:00
566bb7bccc sysprof: wire up session/system toggles to recording 2023-07-27 15:08:30 -07:00
a6b4ca13b4 sysprof: add indicator to dbus section 2023-07-27 15:03:05 -07:00
845ec0fc8d sysprof: add bus type to columns 2023-07-27 14:45:43 -07:00
1701b4e4c6 libsysprof: add bus-type property 2023-07-27 14:45:20 -07:00
e210572700 libsysprof-capture: add bus type to add_dbus API 2023-07-27 14:25:06 -07:00
bc17b6d316 sysprof: add D-Bus Message section to window 2023-07-27 14:21:15 -07:00
19c3d90886 libsysprof: add more accessors for dbus message info 2023-07-27 14:20:20 -07:00
6e4b0ace8b libsysprof: add sysprof_document_list_dbus_messages()
Another indexed helper to get just dbus messages.
2023-07-27 13:43:02 -07:00
3c105057c7 libsysprof: add message-type property 2023-07-27 13:42:44 -07:00
7b9c92985a sysprof-cli: allow profiling session and system buses 2023-07-27 12:34:19 -07:00
3fc8a03e40 sysprof-agent: allow profiling session and system busses 2023-07-27 12:34:06 -07:00
2800a45939 sysprofd: remove version 2 policy
This existed for long enough to transition, no more need for it.
2023-07-27 12:22:31 -07:00
8dd2d3d73c libsysprof: add support for dbus messages as a document type 2023-07-27 12:22:31 -07:00
f46d690a28 libsysprof-capture: add support for DBusMessage frames
These are still captive to the max size of a SysprofCaptureFrame, but
most messages fit into that.
2023-07-27 12:22:31 -07:00
2d16166fb6 sysprof: fix energy section type lookups 2023-07-26 21:18:05 -07:00
33fb1b6663 sysprof: add utility for callgraph sections 2023-07-26 18:05:55 -07:00