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
516917d74b
tests: add category to test-callgraph
2023-07-20 15:05:29 -07:00
4d411d8586
libsysprof: update categories.txt
2023-07-20 15:00:21 -07:00
5d28ed9a74
libsysprof: add io and ipc categories
2023-07-20 15:00:05 -07:00
79a7fb5b22
libsysprof: update categories.txt
2023-07-20 14:37:33 -07:00
3763a4a4e9
libsysprof: update category groupings
2023-07-20 14:37:14 -07:00
c8e09327fc
libsysprof: add simple text format for category rules
2023-07-20 14:30:34 -07:00
cab3f086f7
build: ensure enums header is build
2023-07-20 13:19:21 -07:00
1e84fe39a1
libsysprof: more categorization
2023-07-20 13:15:28 -07:00
4d2cdb2abe
libsysprof: implement category inheretance
...
and remove template type, just keep that with layout.
2023-07-20 13:07:51 -07:00
ae7201c9ff
libsysprof: use callgraph node to categorize for icons
2023-07-20 12:20:25 -07:00
92d2cedb8d
libsysprof: add API to categorize callgraph
...
This just gets the plumbing in place with some basic categorization for
callgraph information. The real work of categorizing by nick/symbol still
needs to be done (some can be copied from SysprofCategoryIcon).
This also adds a property and getter for SysprofCallgraphFrame which will
expose the node's category to the UI code.
2023-07-20 11:32:44 -07:00
5afb315be5
libsysprof: fix flags get type generation
2023-07-20 11:24:04 -07:00
7f7afe9559
libsysprof: add a tooltip-text helper
2023-07-19 22:35:25 -07:00
de15129786
libsysprof: add more elf groupings
2023-07-19 22:35:12 -07:00
c55d1887ba
libsysprof: include lsusb information
2023-07-19 19:07:12 -07:00
d04e5c5678
libsysprof: silence stderr
2023-07-19 19:07:05 -07:00
118484607d
libsysprof: compress various process information
2023-07-19 18:33:00 -07:00
4d37230917
libsysprof: don't try to compress 0 length file content
2023-07-19 18:32:45 -07:00
3b2e9edeb9
libsysprof: record some system info from linux instrument
...
We might want a secondary instrument for this eventually, but for now we'll
just attach it in the Linux instrument.
This takes the output of eglinfo and glxinfo and adds it as a file in the
capture syscap. Compressed of course to keep the size smaller.
2023-07-19 18:30:24 -07:00
90ed413c5a
libsysprof: add API to add compressed file from data
2023-07-19 18:29:38 -07:00