Commit Graph

3559 Commits

Author SHA1 Message Date
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
3845e0c00e sysprof: reduce expiry check to once every 10 iterations 2023-07-19 20:36:35 -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
5a68b167c3 sysprof: sort path column by default 2023-07-19 18:35:40 -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
233685d5ad sysprof: allow setting the file to open in greeter
Still need controls to actually do the opening/etc, but this is a start.
2023-07-19 17:59:44 -07:00
dbb7833cbf libsysprof: join libsysprof-analyze and libsysprof-profile
This brings together the two libraries back into one now that the whole
design is pretty well sorted out. They depend on roughly the same libraries
anyway and it's way easier of the single library can both read and write
the capture files (along with bringing in libsysprof-capture symbols in
a single place).
2023-07-19 17:40:41 -07:00
a990fc6b3c sysprof: fix indent for non-expandable expanders
Instead of doing the indent depth trick that GtkTreeExpander does, this
changes the icon so that we keep the same indent size.
2023-07-19 17:17:42 -07:00
52513c3827 sysprof: mess with fonts less on callgraph view 2023-07-19 17:00:46 -07:00
e45bd8910b sysprof: move view menu into callgraph menu model
This avoids having the extra menu in the header bar and instead puts it
where it has the most value, the callgraph.
2023-07-19 16:54:10 -07:00
b2e3611c52 sysprof: switch over to SysprofTreeExpander
Still a bit more to do, but good enough to switch for now.
2023-07-19 16:48:33 -07:00
4be91a73d8 sysprof: add action to make root 2023-07-19 16:48:00 -07:00
e15bc0c3b9 sysprof: add menu-model support
Show the menu model when right click is pressed.
2023-07-19 16:31:52 -07:00
72f84c2c64 sysprof: add expand/collapse actions
This way we can work with columnview and listview.
2023-07-19 15:40:42 -07:00
3ccf219ec3 sysprof: make double click vs expand work more predictably 2023-07-19 15:24:33 -07:00
e3728cf526 sysprof: fix expand support within a columnview 2023-07-19 15:16:17 -07:00
83c63a09e9 libsysprof-analyze: add n-items property to callgraph frame
Also add a ==0 helper in is_leaf().
2023-07-19 15:15:56 -07:00
69bcc6f200 sysprof: remove use-markup property
This is left to the implementation now w/ a GtkLabel child.
2023-07-19 13:53:22 -07:00
0e1de410a8 sysprof: use child property instead of title for expander 2023-07-19 13:49:47 -07:00
b6445f84e0 sysprof: import SysprofTreeExpander
This came from IdeTreeExpander in Builder and we can tweak it for our needs
here.
2023-07-19 13:32:21 -07:00
8078ecc60a build: fix some various build options 2023-07-19 12:13:27 -07:00
71f73309de sysprof: avoid some overdraws in column layer 2023-07-19 10:43:17 -07:00
88ae57dc73 sysprof: remove availability macros
We don't need this for the application.
2023-07-18 20:00:20 -07:00
c4f1aff24e sysprof: clear sidebar on dispose 2023-07-18 19:37:20 -07:00
af050bc184 sysprof: add F9 for sidebar toggles 2023-07-18 17:37:33 -07:00