451e79a84c
libsysprof-gtk: add augmented functions list
...
This provides an area to have augmented functions listing like we have in
the 3-part sysprof view in our current release.
The weighed callgrpah view uses this to show self/total sortable columns
similar to the descendants view.
2023-06-12 11:16:41 -07:00
643aa374cb
libsysprof-analyze: add GListModel of callgraph symbols
...
This has an indirect object (SysprofCallgraphSymbol) so that we can provide
plumbing to get the callgraph as well as the augmented data from the
indirection object.
This allows for callgraphs to show overview in the functions list which
contains the same augmentation that the descendants view does.
2023-06-12 11:15:50 -07:00
d8adcb5b48
libsysprof-gtk: reduce chances of cell causing column width change
2023-06-09 21:21:09 -07:00
595045c3fc
libsysprof-gtk: expand to process list by default
2023-06-09 18:00:43 -07:00
6b242acbc2
libsysprof-gtk: implement a11y bits for cell progress
2023-06-09 17:53:05 -07:00
b2ded6d231
libsysprof-gtk: use inscription for function name
2023-06-09 17:49:32 -07:00
f0d6f2a5f9
libsysprof-gtk: setup sorters when callgraph is loaded
2023-06-09 17:41:41 -07:00
6ed55e48df
libsysprof-gtk: add load vfunc to handle callgraph
2023-06-09 17:41:22 -07:00
13e1ace8dc
libsysprof-profile: flush events when disabling
2023-06-09 17:25:57 -07:00
bfbdd3b642
libsysprof-profile: use maps parser from Linux instrument
2023-06-09 17:25:55 -07:00
ee165ea91f
libsysprof-profile: add address mappings parser
...
This parses the contents of /proc/$pid/maps and has a crude helper to test
it against real world files (which found a missing capture we had).
2023-06-09 17:23:06 -07:00
9e8c4dba54
libsysprof-profile: init sysprof clock
2023-06-09 16:35:25 -07:00
e8293edd54
libsysprof-profile: only create fdlist when necessary
2023-06-09 16:35:04 -07:00
283da1e107
libsysprof-profile: fix flags type
...
So we can pass it right through.
2023-06-09 16:34:49 -07:00
739ff7b19c
libsysprof-gtk: make some column values show up
2023-06-09 15:59:21 -07:00
d2a38bf1a6
libsysprof-analyze: introduce [Unwindable] callgraph node
...
This interjects a node for unwindable traces so that cost gets accounted
to the process, but is not just at the [process] graph item as that makes
it very hard to subtract to figure out what it was.
Instead just insert an [Unwindable] node and cost-account to that.
2023-06-09 15:58:57 -07:00
3f34c4625b
libsysprof-analyze: cleanup walking to root
2023-06-09 15:57:52 -07:00
2511e79cae
libsysprof-analyze: allow getting root augments with NULL
2023-06-09 15:57:34 -07:00
12f32e8838
libsysprof-analyze: add getter for callgraph from frame
2023-06-09 15:57:16 -07:00
a7443e05f0
libsysprof-analyze: add missing header for summary augment
2023-06-09 15:16:44 -07:00
c35f8d083d
libsysprof-analyze: give frame access to callgraph via property
2023-06-09 15:16:04 -07:00
89173fdce7
libsysprof-gtk: some progress style and text tweaks
2023-06-09 15:15:40 -07:00
626ccdce4d
libsysprof-gtk: add columns to weighted callgraph view
...
These don't actually do anything yet, however.
2023-06-09 14:25:16 -07:00
c5b5ae9df7
libsysprof-gtk: add access to internal column_view child
2023-06-09 14:25:16 -07:00
c97c4c0b0a
libsysprof-gtk: add SysprofProgressCell
...
And also, this library is meant to build on libadwaita, so require that
as well going forward.
2023-06-09 14:24:54 -07:00
95281e3cfb
libsysprof-gtk: add css loading helper
2023-06-09 14:22:17 -07:00
f4eaf1ec51
libsysprof-gtk: add to weight to summary augment
2023-06-09 11:22:51 -07:00
814c25d45a
libsysprof-analyze: add summary augmentation capabilities
...
This allows us to have augmentation at the summary level so that things
like the weighted callgraph or memprof callgraph can add their respective
summary data up the chain of function calls.
2023-06-09 11:19:40 -07:00
900c39c0d8
libsysprof-analyze: use summary struct for symbol information
...
We still need to figure out the right way to plumb in the augmentation data
so that things that need to walk up the chain are possible, but this first
gets things in order to do that.
2023-06-09 10:50:39 -07:00
7ec0b8f3a3
libsysprof-gtk: add tooltip for callgraph view
2023-06-08 17:57:44 -07:00
6570087c7c
libsysprof-gtk: start on GTK widgetry library
...
This is ultimately to replace libsysprof-ui, and will focus on the display
of capture files. Recording will be left to the sysprof application in
terms of UI, and other applications like IDEs will use the
libsysprof-profile API directly along with libsysprof-gtk for visualizing.
2023-06-08 17:38:15 -07:00
ca0cff6446
libsysprof-analyze: fix binary-nick usage
2023-06-08 17:29:27 -07:00
2c46d6a4c1
libsysprof-analyze: add listmodel of stacktraces containing symbol
2023-06-08 14:22:18 -07:00
6fc1049e63
libsysprof-analyze: don't duplicate callers
2023-06-06 17:33:42 -07:00
275869b198
libsysprof-analyze: implement basic callers listing
...
This doesn't give us augmentation data like we would have from the
existing callgraphs, but we can deal with that later.
2023-06-06 17:30:13 -07:00
434cc6ba22
tools: give some feedback about callgraph type
2023-06-06 16:48:50 -07:00
f3ab23ed18
tools: allow showing basic callgraph for memory
...
The columns aren't all that useful, but it is to show that augmentation
will work for these things too.
2023-06-06 16:45:51 -07:00
663ae8746a
libsysprof-analyze: add list model index for allocation records
2023-06-06 16:45:27 -07:00
3d7a6ca43b
libsysprof-profile: set default environment for spawnable
2023-06-06 16:45:02 -07:00
44e9da2692
callgraph: be more graceful with unwind failures
2023-06-06 16:44:50 -07:00
8202a40f4d
preload: hoist preloads into src/ directory
...
They will get used from libsysprof-profile, but it's nice to have them
a directory up going forward.
2023-06-06 16:32:21 -07:00
1e675e92e4
libsysprof-profile: add malloc tracing instrument
2023-06-06 16:30:38 -07:00
b0a3736ff4
libsysprof-profile: add memprof to profiler test
2023-06-06 16:15:45 -07:00
006618c5ae
libsysprof-profile: fix -- parsing with options
2023-06-06 16:15:28 -07:00
0e625cea21
libsysprof-profile: add RAPL-based SysprofEnergyUsage
...
This does what we did previously with RAPL via sysprofd, with the new
SysprofInstrument API.
2023-06-06 15:56:38 -07:00
6f661c6bfe
libsysprof-profile: add proxied instrument
...
This fetches data into a memfd from a peer process and then appends it to
the capture at the end of recording.
2023-06-06 15:55:57 -07:00
b38850f27d
libsysprof-profile: ensure instruments finish recording
...
They may still be doing operations that need to complete before we can
move on to the augmentation phase.
2023-06-06 15:35:43 -07:00
f1826bfc86
libsysprof-profile: implement battery charge counters
...
This parses the battery charge values on a regular interval and exits when
the recording is stopped.
2023-06-06 13:01:41 -07:00
200b8acb20
libsysprof-profile: add scaffolding for battery charge
...
This is a SysprofInstrument that will eventually contain the contents of
the sysprof-battery-source.c to get battery charge/rate/etc. Note that
this is different from energy usage which will come from RAPL.
2023-06-06 11:19:03 -07:00
3fb1a15eec
tools: toggle row on space
2023-06-05 16:56:18 -07:00