LttvTraceInfo LTTV_TRACES,
LTTV_COMPUTATION,
+ LTTV_VIEWER_CONSTRUCTORS,
LTTV_REQUESTS_QUEUE,
LTTV_REQUESTS_CURRENT,
LTTV_NOTIFY_QUEUE,
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_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);
- LttvHooks *hook_adder = lttv_hooks_new();
- lttv_hooks_add(hook_adder, lttv_state_save_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);
- /* 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 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
LttvTrace *trace;
GSList *iter = NULL;
+ lttvwindowtraces_unregister_requests(g_quark_from_string("stats"));
lttvwindowtraces_unregister_requests(g_quark_from_string("state"));
+ lttvwindowtraces_unregister_computation_hooks(g_quark_from_string("stats"));
lttvwindowtraces_unregister_computation_hooks(g_quark_from_string("state"));
lttv_option_remove("trace");