From: Benjamin Poirier Date: Wed, 22 Jul 2009 18:21:32 +0000 (-0400) Subject: Graphical mode synchronization X-Git-Tag: v0.12.26~56 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=d26f04742e44ea6a45a5034a521c5948bc9361a4;p=lttv.git Graphical mode synchronization Hooks the trace synchronization code in lttvwindow. This allows to use trace synchronization in graphical mode when lttv is started with the "--sync" option. Unfortunately, the viewer interface "freezes" while the synchronization code is running. This can take a noticeable amount of time (more than a minute) for large traces. Signed-off-by: Benjamin Poirier --- diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c index 565cec17..5ce1f925 100644 --- a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c +++ b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c @@ -467,6 +467,8 @@ int SetTraceset(Tab * tab, LttvTraceset *traceset) { LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context); + + sync_traceset(tsc); TimeInterval time_span = tsc->time_span; TimeWindow new_time_window = tab->time_window; LttTime new_current_time = tab->current_time; @@ -551,15 +553,16 @@ int SetTraceset(Tab * tab, LttvTraceset *traceset) LttvHooks * tmp; LttvAttributeValue value; gint retval = 0; - retval= lttv_iattribute_find_by_path(tab->attributes, "hooks/updatetraceset", LTTV_POINTER, &value); g_assert(retval); tmp = (LttvHooks*)*(value.v_pointer); - if(tmp == NULL) retval = 1; - else lttv_hooks_call(tmp,traceset); + if(tmp == NULL) + retval = 1; + else + lttv_hooks_call(tmp,traceset); time_change_manager(tab, new_time_window); current_time_change_manager(tab, new_current_time); diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/init_module.c b/lttv/modules/gui/lttvwindow/lttvwindow/init_module.c index cb3f3dc4..99ab15f7 100644 --- a/lttv/modules/gui/lttvwindow/lttvwindow/init_module.c +++ b/lttv/modules/gui/lttvwindow/lttvwindow/init_module.c @@ -259,4 +259,4 @@ static void destroy() { LTTV_MODULE("lttvwindow", "Viewer main window", \ "Viewer with multiple windows, tabs and panes for graphical modules", \ - init, destroy, "stats", "option") + init, destroy, "stats", "option", "sync")