This uses the intersection of all the bitset from the frame to the root to
first reduce the number of traceables to look at. Once we have the
intersection, we check the traceables for prefix and yield another list
model using that bitset index on the same traceables list model.
This can be used to show a supplimental list of all the traceables for a
callgraph up to certain node.
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.
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.
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.
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.
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.
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.