Commit Graph

3587 Commits

Author SHA1 Message Date
e571f167dd sysprof: janitorial cleanup 2023-07-21 14:11:08 -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
572b2bc730 sysprof: fix sidebar icons 2023-07-21 09:57:20 -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
058f14a7cd sysprof: generate summaries and display in utility pane 2023-07-20 17:31:36 -07:00
8e861b222d libsysprof: add category-name helper
Just to ease translations
2023-07-20 17:31:15 -07:00
1ff0cd9da4 sysprof: make right sidebar larger to be more useful 2023-07-20 17:30:57 -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
070b7f5907 tests: drop old tests directory 2023-07-20 16:21:49 -07:00
eabf9797c7 tests: remove low-value tests
These are already dealt with in other ways or just not useful given now
we process things now.
2023-07-20 16:21:06 -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
ecdcfb83d0 sysprof: add toggles to categorize frames 2023-07-20 12:30:11 -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
c3918bc261 sysprof: more GTK categorization 2023-07-19 22:48:37 -07:00
ec4f2f2870 sysprof: add input category 2023-07-19 22:48:31 -07:00
adc34117f9 sysprof: give windowing category a color 2023-07-19 22:41:08 -07:00
34deb22eda sysprof: start on symbol categorization
This will end up getting moved a bit to CallgraphNode so that we can
look at the parents, but for now just do this so I can test things out
a bit and see how we like it.

Eventually, the goal would be to categorize the callgraph and show that
information in the sidebar for quick overviews of where time is spent.

It's a bit laborious to keep up and add symbols for this sort of stuff,
but I think the "at a glance" value is pretty huge.
2023-07-19 22:38:23 -07:00
dece7e041a sysprof: use tooltip-text helper 2023-07-19 22:36:58 -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
135e1019b2 sysprof: add ctrl+f9 for right sidebar 2023-07-19 20:44:21 -07:00