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
2dbf6553b4
libsysprof-profile: add instrument to bundle symbols
...
This instrument does as our previous symbols_source did and will augment
the capture with additional symbols that improves the chances you'll get
proper symbolization on machines that did not create the capture.
2023-07-17 17:37:32 -07:00
dbabe87b3d
libsysprof-analyze: add API to serialize symbol cache
...
This will allow us to put the symbol cache back in the __symbols__ file
like we did for online symbol resolution in previous versions.
2023-07-17 17:35:34 -07:00
8bb45686c6
build: bump dex requirement
...
We need various new API there.
2023-07-17 17:12:17 -07:00
a701b03b03
libsysprof-analyze: format header
2023-07-17 16:05:25 -07:00
29fd9e9cc0
sysprof-cli: port to libsysprof-profile
2023-07-17 15:35:47 -07:00
1fba250444
build: drop legacy v2 service and simplify build system
...
This removes -Dagent and just uses -Dtools as it only affects sysprof-cli
and sysprof-agent. We still need to patch sysprof-cli for recent changes
as we did for sysprof-agent though.
Additionally, we haven't used the v2 service in forever, so drop that as
I can't imagine anyone has been using it.
2023-07-17 15:11:10 -07:00
72be6491b6
sysprof: allow creation of process dialog from table
2023-07-17 14:55:07 -07:00
93900265f1
sysprof: improve incremental items-changed updates
...
This way we get updates as the series is processed.
2023-07-17 14:42:46 -07:00
f3e87eec2b
sysprof: filter process table by selected range
2023-07-17 13:57:59 -07:00
b856763337
sysprof: allow scrubbing processes by their spawn time
...
This just makes it easier to look at what processes were spawned when.
2023-07-17 13:22:19 -07:00
3ce7ddd653
sysprof: remove unused label
2023-07-17 13:21:55 -07:00
1f7beb9505
sysprof: add listing of threads seen in a process
...
This is useful just so we can look at a table of what threads we
discovered (via sampling). We might also want to add a new Thread frame
that allows us to see that data from Perf. Especially once we start doing
scheduler information.
2023-07-17 13:15:43 -07:00
0cdf7d8e87
sysprof: add a process table in addition to chart
2023-07-17 12:50:19 -07:00
cdbf3508f6
libsysprof-analyze: include thread info in processes
2023-07-17 12:33:49 -07:00
05349f9759
libsysprof-analyze: add sysprof-thread-info.h header
2023-07-17 12:33:37 -07:00
68abadbdd8
libsysprof-analyze: ensure pid info structure for exit time
2023-07-17 12:26:09 -07:00
c1cfc1e210
libsysprof-analyze: add basic tracking of threads
...
It's nice to have a list of threads that are in a process and make that
available as a listmodel of the process. We can use this to show more
information in the UI at some point.
2023-07-17 12:25:59 -07:00
f8890fb040
libsysprof-capture: add rewrite-pid to capture tests
2023-07-17 12:24:44 -07:00
4a6a0f9948
tools: remove more tooling
...
These eventually all go away.
2023-07-17 12:24:33 -07:00
1913e27b61
sysprof-agent: move sysprof-agent to own directory
...
The tools directory will be going away and pieces moved around.
2023-07-17 11:40:26 -07:00
ee962d93cd
libsysprof-profile: give access to GSubprocess
...
This is needed to be able to proxy exit/signal information via
sysprof-agent.
2023-07-17 11:39:35 -07:00