LttvTraceInfo LTTV_TRACES,
LTTV_COMPUTATION,
+ LTTV_VIEWER_CONSTRUCTORS,
LTTV_REQUESTS_QUEUE,
LTTV_REQUESTS_CURRENT,
LTTV_NOTIFY_QUEUE,
LTTV_AFTER_REQUEST,
LTTV_EVENT_HOOK,
LTTV_EVENT_HOOK_BY_ID,
+ LTTV_HOOK_ADDER,
+ LTTV_HOOK_REMOVER,
LTTV_IN_PROGRESS,
- LTTV_READY;
+ LTTV_READY,
+ LTTV_LOCK;
/** Array containing instanced objects. */
void lttv_trace_option(void *hook_data)
{
LttTrace *trace;
- gchar *abs_path;
+ gchar abs_path[PATH_MAX];
get_absolute_pathname(a_trace, abs_path);
g_init_trace = lttvwindowtraces_get_trace_by_name(abs_path);
LTTV_TRACES = g_quark_from_string("traces");
LTTV_COMPUTATION = g_quark_from_string("computation");
+ LTTV_VIEWER_CONSTRUCTORS = g_quark_from_string("viewer_constructors");
LTTV_REQUESTS_QUEUE = g_quark_from_string("requests_queue");
LTTV_REQUESTS_CURRENT = g_quark_from_string("requests_current");
LTTV_NOTIFY_QUEUE = g_quark_from_string("notify_queue");
LTTV_AFTER_REQUEST = g_quark_from_string("after_request");
LTTV_EVENT_HOOK = g_quark_from_string("event_hook");
LTTV_EVENT_HOOK_BY_ID = g_quark_from_string("event_hook_by_id");
+ LTTV_HOOK_ADDER = g_quark_from_string("hook_adder");
+ LTTV_HOOK_REMOVER = g_quark_from_string("hook_remover");
LTTV_IN_PROGRESS = g_quark_from_string("in_progress");
LTTV_READY = g_quark_from_string("ready");
+ LTTV_LOCK = g_quark_from_string("lock");
g_debug("GUI init()");
lttv_hooks_add(main_hooks, window_creation_hook, NULL, LTTV_PRIO_DEFAULT);
+ {
+ /* Register state calculator */
+ LttvHooks *hook_adder = lttv_hooks_new();
+ lttv_hooks_add(hook_adder, lttv_state_save_hook_add_event_hooks, NULL,
+ LTTV_PRIO_DEFAULT);
+ lttv_hooks_add(hook_adder, lttv_state_hook_add_event_hooks, NULL,
+ LTTV_PRIO_DEFAULT);
+ LttvHooks *hook_remover = lttv_hooks_new();
+ lttv_hooks_add(hook_remover, lttv_state_save_hook_remove_event_hooks,
+ NULL, LTTV_PRIO_DEFAULT);
+ lttv_hooks_add(hook_remover, lttv_state_hook_remove_event_hooks,
+ NULL, LTTV_PRIO_DEFAULT);
+ /* Add state computation background hook adder to attributes */
+ lttvwindowtraces_register_computation_hooks(g_quark_from_string("state"),
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ hook_adder, hook_remover);
+ }
+
+ {
+ /* Register statistics calculator */
+ LttvHooks *hook_adder = lttv_hooks_new();
+ lttv_hooks_add(hook_adder, lttv_stats_hook_add_event_hooks, NULL,
+ LTTV_PRIO_DEFAULT);
+ lttv_hooks_add(hook_adder, lttv_state_hook_add_event_hooks, NULL,
+ LTTV_PRIO_DEFAULT);
+ LttvHooks *hook_remover = lttv_hooks_new();
+ lttv_hooks_add(hook_remover, lttv_stats_hook_remove_event_hooks,
+ NULL, LTTV_PRIO_DEFAULT);
+ lttv_hooks_add(hook_remover, lttv_state_hook_remove_event_hooks,
+ NULL, LTTV_PRIO_DEFAULT);
+ LttvHooks *after_request = lttv_hooks_new();
+ lttv_hooks_add(after_request, lttv_stats_sum_traceset_hook, NULL,
+ LTTV_PRIO_DEFAULT);
+ /* Add state computation background hook adder to attributes */
+ lttvwindowtraces_register_computation_hooks(g_quark_from_string("stats"),
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ after_request, NULL, NULL,
+ hook_adder, hook_remover);
+ }
}
void