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
e35a9e659b
sysprof: show zoom controls when left-sidebar is inactive
2023-07-18 17:29:12 -07:00
a12ffbc063
sysprof: move window menu to primary section
...
That way it's available when the sidebar is collapsed.
2023-07-18 17:21:04 -07:00
e28d5b7348
sysprof: clamp rectangle to visible area
2023-07-18 16:36:53 -07:00
93255a25f0
sysprof: make scheduler process until deadline elapsed
...
We don't need to return to the mainloop until our deadline elapses, even
if that source didn't finish processing.
2023-07-18 16:25:56 -07:00
8dd7478e96
janitorial: move dbus service files into sysprofd
...
This is the only place they are really used directly, so keep them there.
2023-07-18 16:13:01 -07:00
8a631d8f88
janitorial: remove unused files
2023-07-18 16:10:43 -07:00
44b2b9d31e
sysprof: make some instruments active by default
2023-07-17 18:05:54 -07:00
e666c4a8b8
sysprof: allow toggling bundled symbols in greeter
2023-07-17 17:59:14 -07:00
59b6165816
libsysprof-analyze: do not symbolize fallback symbols
...
These just waste a bunch of space in the capture file and we can instead
generate them on the fly when loading the document.
2023-07-17 17:51:03 -07:00
4d92cf3424
libsysprof-profile: only bundle ELF symbols
...
The rest can be decoded already using content we have in our syscap.
2023-07-17 17:41:15 -07:00