This allows us to have a sysroot different than /, so that we can resolve
symbols that are not necessarily installed on the system. For example, if
we are running an application in an alternate mount namespace, we will want
to resolve the symbols starting from the location of the checkout for that
namespace.
Generally alternate mount namespaces will have paths like "/newroot/usr/.."
so by setting the source to "/newroot/usr/" to "~/.local/" you can do
some fancy remapping.
This uses an alternate idea for setting the structure alignments. Lets
see if this silents the ARM builder cast alignment issues.
GSlice (which is what is used for GObjects) guarantees a 2-pointer size
allocation, which means we can be ensured that the alignment is at least
8 bytes.
We could have multiple StackNodes that point at the same data. However
we might not have pointer equality. This uses the data pointer that nodes
point at to determine equality.
Using the .ui file to create the name cell does not allow us to set the
expand property (it defaults to FALSE and cannot be changed). So instead,
we just add the cell manually like we do for the tag cell.
This field is opportunistic, so failure isn't a big deal, but we can at
least try again in an EAGAIN case. Should also squash a compiler warning
about unused results.
Overview of changes in Sysprof 3.22.1
=====================================
Changes since 3.22.0
* A new data source called "hostinfo" has been added. It records various
CPU datapoints as "counters" in the sysprof capture.
* A new visualizers abstraction has been added so that we can start
providing new ways to look at profiler data.
* A CPU visualizer has been added which renders datapoints recorded
from the hostinfo data source.
* Selecting ranges of the visualizer will update the callgraph limiting
stacktrace samples, to the given time range.
* Missing headers are now installed which may be needed by applications
using libsysprof-ui.
* A keyboard shortcuts dialog has been added.
* A theme manager has been added to allow us to provide custom CSS for
various themes. Currently, we have additional styling added for
Adwaita and Adwaita-dark.
We want this in sysprof.h (without UI components) so that we
can use it to filter things in profilers. Therefore, we don't
need to make it namespaced to "visualizers" since a time range
selection is a fairly straightforward, and non-UI confined
implementation.