mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof: add sysprof_document_list_dbus_messages()
Another indexed helper to get just dbus messages.
This commit is contained in:
@ -77,20 +77,21 @@ struct _SysprofDocument
|
|||||||
SysprofStrings *strings;
|
SysprofStrings *strings;
|
||||||
|
|
||||||
EggBitset *allocations;
|
EggBitset *allocations;
|
||||||
|
EggBitset *ctrdefs;
|
||||||
|
EggBitset *ctrsets;
|
||||||
|
EggBitset *dbus_messages;
|
||||||
EggBitset *file_chunks;
|
EggBitset *file_chunks;
|
||||||
EggBitset *samples;
|
EggBitset *jitmaps;
|
||||||
EggBitset *samples_with_context_switch;
|
|
||||||
EggBitset *traceables;
|
|
||||||
EggBitset *processes;
|
|
||||||
EggBitset *logs;
|
EggBitset *logs;
|
||||||
|
EggBitset *marks;
|
||||||
|
EggBitset *metadata;
|
||||||
EggBitset *mmaps;
|
EggBitset *mmaps;
|
||||||
EggBitset *overlays;
|
EggBitset *overlays;
|
||||||
EggBitset *pids;
|
EggBitset *pids;
|
||||||
EggBitset *jitmaps;
|
EggBitset *processes;
|
||||||
EggBitset *ctrdefs;
|
EggBitset *samples;
|
||||||
EggBitset *ctrsets;
|
EggBitset *samples_with_context_switch;
|
||||||
EggBitset *marks;
|
EggBitset *traceables;
|
||||||
EggBitset *metadata;
|
|
||||||
|
|
||||||
GHashTable *files_first_position;
|
GHashTable *files_first_position;
|
||||||
GHashTable *pid_to_process_info;
|
GHashTable *pid_to_process_info;
|
||||||
@ -116,6 +117,7 @@ enum {
|
|||||||
PROP_ALLOCATIONS,
|
PROP_ALLOCATIONS,
|
||||||
PROP_COUNTERS,
|
PROP_COUNTERS,
|
||||||
PROP_CPU_INFO,
|
PROP_CPU_INFO,
|
||||||
|
PROP_DBUS_MESSAGES,
|
||||||
PROP_FILES,
|
PROP_FILES,
|
||||||
PROP_LOGS,
|
PROP_LOGS,
|
||||||
PROP_MARKS,
|
PROP_MARKS,
|
||||||
@ -328,6 +330,7 @@ sysprof_document_finalize (GObject *object)
|
|||||||
g_clear_pointer (&self->allocations, egg_bitset_unref);
|
g_clear_pointer (&self->allocations, egg_bitset_unref);
|
||||||
g_clear_pointer (&self->ctrdefs, egg_bitset_unref);
|
g_clear_pointer (&self->ctrdefs, egg_bitset_unref);
|
||||||
g_clear_pointer (&self->ctrsets, egg_bitset_unref);
|
g_clear_pointer (&self->ctrsets, egg_bitset_unref);
|
||||||
|
g_clear_pointer (&self->dbus_messages, egg_bitset_unref);
|
||||||
g_clear_pointer (&self->marks, egg_bitset_unref);
|
g_clear_pointer (&self->marks, egg_bitset_unref);
|
||||||
g_clear_pointer (&self->metadata, egg_bitset_unref);
|
g_clear_pointer (&self->metadata, egg_bitset_unref);
|
||||||
g_clear_pointer (&self->file_chunks, egg_bitset_unref);
|
g_clear_pointer (&self->file_chunks, egg_bitset_unref);
|
||||||
@ -378,6 +381,10 @@ sysprof_document_get_property (GObject *object,
|
|||||||
g_value_take_object (value, sysprof_document_list_cpu_info (self));
|
g_value_take_object (value, sysprof_document_list_cpu_info (self));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_DBUS_MESSAGES:
|
||||||
|
g_value_take_object (value, sysprof_document_list_dbus_messages (self));
|
||||||
|
break;
|
||||||
|
|
||||||
case PROP_FILES:
|
case PROP_FILES:
|
||||||
g_value_take_object (value, sysprof_document_list_files (self));
|
g_value_take_object (value, sysprof_document_list_files (self));
|
||||||
break;
|
break;
|
||||||
@ -442,6 +449,11 @@ sysprof_document_class_init (SysprofDocumentClass *klass)
|
|||||||
G_TYPE_LIST_MODEL,
|
G_TYPE_LIST_MODEL,
|
||||||
(G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
|
(G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
|
properties [PROP_DBUS_MESSAGES] =
|
||||||
|
g_param_spec_object ("dbus-messages", NULL, NULL,
|
||||||
|
G_TYPE_LIST_MODEL,
|
||||||
|
(G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
properties [PROP_FILES] =
|
properties [PROP_FILES] =
|
||||||
g_param_spec_object ("files", NULL, NULL,
|
g_param_spec_object ("files", NULL, NULL,
|
||||||
G_TYPE_LIST_MODEL,
|
G_TYPE_LIST_MODEL,
|
||||||
@ -506,6 +518,7 @@ sysprof_document_init (SysprofDocument *self)
|
|||||||
self->allocations = egg_bitset_new_empty ();
|
self->allocations = egg_bitset_new_empty ();
|
||||||
self->ctrdefs = egg_bitset_new_empty ();
|
self->ctrdefs = egg_bitset_new_empty ();
|
||||||
self->ctrsets = egg_bitset_new_empty ();
|
self->ctrsets = egg_bitset_new_empty ();
|
||||||
|
self->dbus_messages = egg_bitset_new_empty ();
|
||||||
self->marks = egg_bitset_new_empty ();
|
self->marks = egg_bitset_new_empty ();
|
||||||
self->metadata = egg_bitset_new_empty ();
|
self->metadata = egg_bitset_new_empty ();
|
||||||
self->file_chunks = egg_bitset_new_empty ();
|
self->file_chunks = egg_bitset_new_empty ();
|
||||||
@ -1232,6 +1245,10 @@ sysprof_document_load_worker (GTask *task,
|
|||||||
egg_bitset_add (self->ctrsets, f);
|
egg_bitset_add (self->ctrsets, f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SYSPROF_CAPTURE_FRAME_DBUS_MESSAGE:
|
||||||
|
egg_bitset_add (self->dbus_messages, f);
|
||||||
|
break;
|
||||||
|
|
||||||
case SYSPROF_CAPTURE_FRAME_MARK:
|
case SYSPROF_CAPTURE_FRAME_MARK:
|
||||||
egg_bitset_add (self->marks, f);
|
egg_bitset_add (self->marks, f);
|
||||||
break;
|
break;
|
||||||
@ -2536,3 +2553,19 @@ sysprof_document_lookup_process (SysprofDocument *self,
|
|||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sysprof_document_list_dbus_messages:
|
||||||
|
* @self: a #SysprofDocument
|
||||||
|
*
|
||||||
|
* Gets a #GListModel of #SysprofDocumentDBusMessage.
|
||||||
|
*
|
||||||
|
* Returns: (transfer full): a #GListModel
|
||||||
|
*/
|
||||||
|
GListModel *
|
||||||
|
sysprof_document_list_dbus_messages (SysprofDocument *self)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (SYSPROF_IS_DOCUMENT (self), NULL);
|
||||||
|
|
||||||
|
return _sysprof_document_bitset_index_new (G_LIST_MODEL (self), self->dbus_messages);
|
||||||
|
}
|
||||||
|
|||||||
@ -59,6 +59,8 @@ GListModel *sysprof_document_list_traceables (Sy
|
|||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
GListModel *sysprof_document_list_allocations (SysprofDocument *self);
|
GListModel *sysprof_document_list_allocations (SysprofDocument *self);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
|
GListModel *sysprof_document_list_dbus_messages (SysprofDocument *self);
|
||||||
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
GListModel *sysprof_document_list_logs (SysprofDocument *self);
|
GListModel *sysprof_document_list_logs (SysprofDocument *self);
|
||||||
SYSPROF_AVAILABLE_IN_ALL
|
SYSPROF_AVAILABLE_IN_ALL
|
||||||
GListModel *sysprof_document_list_metadata (SysprofDocument *self);
|
GListModel *sysprof_document_list_metadata (SysprofDocument *self);
|
||||||
|
|||||||
Reference in New Issue
Block a user