mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
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.
This commit is contained in:
@ -47,16 +47,36 @@ struct _SysprofCallgraphNode
|
||||
gpointer augment;
|
||||
};
|
||||
|
||||
void _sysprof_callgraph_new_async (SysprofDocument *document,
|
||||
GListModel *traceables,
|
||||
gsize augment_size,
|
||||
SysprofAugmentationFunc augment_func,
|
||||
gpointer augment_func_data,
|
||||
GDestroyNotify augment_func_data_destroy,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
SysprofCallgraph *_sysprof_callgraph_new_finish (GAsyncResult *result,
|
||||
GError **error);
|
||||
struct _SysprofCallgraph
|
||||
{
|
||||
GObject parent_instance;
|
||||
|
||||
SysprofDocument *document;
|
||||
GListModel *traceables;
|
||||
|
||||
GHashTable *symbol_to_summary;
|
||||
GPtrArray *symbols;
|
||||
|
||||
gsize augment_size;
|
||||
SysprofAugmentationFunc augment_func;
|
||||
gpointer augment_func_data;
|
||||
GDestroyNotify augment_func_data_destroy;
|
||||
|
||||
SysprofCallgraphNode root;
|
||||
};
|
||||
|
||||
void _sysprof_callgraph_new_async (SysprofDocument *document,
|
||||
GListModel *traceables,
|
||||
gsize augment_size,
|
||||
SysprofAugmentationFunc augment_func,
|
||||
gpointer augment_func_data,
|
||||
GDestroyNotify augment_func_data_destroy,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
SysprofCallgraph *_sysprof_callgraph_new_finish (GAsyncResult *result,
|
||||
GError **error);
|
||||
gpointer _sysprof_callgraph_get_symbol_augment (SysprofCallgraph *self,
|
||||
SysprofSymbol *symbol);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
Reference in New Issue
Block a user