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
5c2a1f2016
libsysprof: fix cost accounting for categories
...
We don't want to derive the total count from each summary, but instead
the total count of nodes w/ is_toplevel set.
2023-07-21 09:46:12 -07:00
76c0a8ece7
libsysprof: update categories.txt
2023-07-20 17:46:04 -07:00
ad5fc5f372
libsysprof: add locking category
2023-07-20 17:45:55 -07:00
8e861b222d
libsysprof: add category-name helper
...
Just to ease translations
2023-07-20 17:31:15 -07:00
d13d2cb479
sysprof: drop signals category
...
Not really all that useful currently.
2023-07-20 17:30:44 -07:00
90c6d87a8c
libsysprof: implement callgraph frame summaries
2023-07-20 17:02:56 -07:00
0f70dd1d68
libsysprof: keep count in callgraph node
...
I don't want this to overlap with augmentation data, or be augmentation
data specific, so just keep our own private copy of this data in the
node to do the sort of things we want with it (such as summaries).
2023-07-20 17:02:34 -07:00
a75429241e
libsysprof: simplify summary generation
...
This still doesn't actually do anything, just the scaffolding.
2023-07-20 16:36:29 -07:00
ff40f7d37d
tests: move tests to appropriate libraries
2023-07-20 16:20:52 -07:00
b8f39ef20a
build: fix library name for libsysprof-6.so
2023-07-20 16:11:14 -07:00
4a8d5007e5
libsysprof: add scaffolding to perform category summaries
...
The goal here is to summarize the categories starting from a specific
frame.
2023-07-20 16:04:42 -07:00
9400757821
libsysprof: make presentation type one above uncategorized
...
That way we can do > presentation checks.
2023-07-20 16:03:56 -07:00
79c49fca02
libsysprof: track which nodes are toplevel
...
We used to do this, and now we have space for it here as we added the
categorization field.
2023-07-20 16:03:37 -07:00
dfa893f06a
libsysprof: ensure descendants view is categorized
2023-07-20 15:31:50 -07:00