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
2c0f055af1
build: make sysprof-journald-source.c conditional
...
Fixes #88
2023-08-02 11:57:32 -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
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
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
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
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
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
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
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
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
8dd2d3d73c
libsysprof: add support for dbus messages as a document type
2023-07-27 12:22:31 -07:00
e585be1459
libsysprof: add self tracking of sysprof libs
2023-07-26 18:05:36 -07:00
d8483691dc
libsysprof: use non-breaking space between units
2023-07-26 11:52:26 -07:00
58b47cbe19
libsysprof: remove some weak pointer usage
...
These are incredibly slow and just not worth the overhead of using weak
pointers for everything.
Fixes some jank on filtering function symbols.
2023-07-25 20:32:21 -07:00
29a1ec952f
libsysprof: add API to lookup a process by PID
2023-07-25 19:31:40 -07:00
a0ce83eead
libsysprof: provide build-id in MMAP2 event to capture writer
...
We may not always get this value (in fact, I can't seem to actually get
the Kernel to provide it to me locally), but should we actually get it
this will send that along to the capture writer so it may add a @build-id\0
tail to the SysprofCaptureMap frame.
2023-07-24 17:31:51 -07:00
85344b4963
libsysprof: handle mmap2 records
...
We still need to add an additional capture writer so that we can keep the
build-id around, but this gets the mechanics in place to handle the
PERF_EVENT_MMAP2 event type.
2023-07-24 16:32:58 -07:00
5f5868c060
libsysprof: add control structure for mmap2 events
2023-07-24 15:34:35 -07:00
29772e7ac2
sysprofd: add proxy support for mmap2/build_id
...
We will want to be able to open perf event streams with these options so
that we can get the build-id extracted from an ELF without having to rely
on parsing it at resolution time.
Additionally, it could give us an option for live-decoding at some point
in userspace without having to write the major DWARF capture data to disk.
2023-07-24 15:30:16 -07:00
49a17d5339
libsysprof: fix format of 64-bit integer
2023-07-23 18:16:59 -07:00
91d48b87d6
libsysprof: calculate min/max/avg/median durations for marks
2023-07-22 16:43:32 -07:00
e74a7eb0e3
libsysprof: add symbols to capture
2023-07-21 20:49:25 -07:00
017e51cb62
libsysprof: return null for empty description
...
Just to decrease chances this causes tooltips to display.
2023-07-21 16:55:27 -07:00
5fdef90f4d
libsysprof: fix tx counter id
2023-07-21 15:58:03 -07:00
1d9b346a49
libsysprof: add some cryptography libraries
2023-07-21 13:14:15 -07:00
42f9f99e50
libsysprof: upate categories.txt
2023-07-21 13:06:26 -07:00
96402c2381
libsysprof: update categories.txt
2023-07-21 12:53:21 -07:00
450c1402b1
libsysprof: tag more binaries with nicks
2023-07-21 12:53:11 -07:00
6ce5b9d1e9
libsysprof: add more categories
2023-07-21 12:52:58 -07:00
81c701c953
libsysprof: update categories.txt
2023-07-21 11:56:00 -07:00
67a284c8b4
libsysprof: allow comments with #
2023-07-21 11:55:46 -07:00
a99a89782a
libsysprof: fix category inheritance
...
Move the bit lower so we can use bitfields properly, and add an unmask
helper to avoid all the 0xFF crap.
2023-07-21 10:51:41 -07:00
ff5c0e4927
libsysprof: assign cairo to paint
2023-07-21 10:35:18 -07:00