libsysprof-analyze: track nodes that were toplevel

That way when we want to get a list of stack traces, we could know to
yield a trace stopping at this node.
This commit is contained in:
Christian Hergert
2023-05-25 14:33:08 -07:00
parent eaee76e49f
commit 503d3decca

View File

@ -27,8 +27,9 @@
typedef struct _Augment typedef struct _Augment
{ {
guint32 size; guint64 toplevel : 1;
guint32 total; guint64 size : 31;
guint32 total : 32;
} Augment; } Augment;
static char *kallsyms_path; static char *kallsyms_path;
@ -99,6 +100,9 @@ augment_cb (SysprofCallgraph *callgraph,
g_assert (SYSPROF_IS_DOCUMENT_SAMPLE (frame)); g_assert (SYSPROF_IS_DOCUMENT_SAMPLE (frame));
g_assert (user_data == NULL); g_assert (user_data == NULL);
aug = sysprof_callgraph_get_augment (callgraph, node);
aug->toplevel = TRUE;
for (; node ; node = sysprof_callgraph_node_parent (node)) for (; node ; node = sysprof_callgraph_node_parent (node))
{ {
aug = sysprof_callgraph_get_augment (callgraph, node); aug = sysprof_callgraph_get_augment (callgraph, node);