X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Flttvwindowtraces.c;h=c5bd1935e48382ef43e126e71d1a20690f20f776;hb=147c6f7fc4f80e38b970052de8bcab28f4f45acc;hp=badb3a34836a405580383eaea16205615732d402;hpb=c0cb4d12b6441b5964a5017e8c58349bec15e7b8;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c index badb3a34..c5bd1935 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/lttvwindowtraces.c @@ -72,7 +72,7 @@ gboolean lttvwindowtraces_process_pending_requests(LttvTrace *trace); * NULL is returned if the trace is not present */ -LttvTrace *lttvwindowtraces_get_trace_by_name(gchar *path) +__EXPORT LttvTrace *lttvwindowtraces_get_trace_by_name(gchar *path) { guint i; @@ -97,7 +97,7 @@ LttvTrace *lttvwindowtraces_get_trace_by_name(gchar *path) /* Get a trace by its number identifier */ -LttvTrace *lttvwindowtraces_get_trace(guint num) +__EXPORT LttvTrace *lttvwindowtraces_get_trace(guint num) { LttvAttribute *g_attribute = lttv_global_attributes(); LttvAttribute *attribute; @@ -106,9 +106,10 @@ LttvTrace *lttvwindowtraces_get_trace(guint num) LttvAttributeValue value; gboolean is_named; - g_assert(attribute = + attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(g_attribute), - LTTV_TRACES))); + LTTV_TRACES)); + g_assert(attribute); type = lttv_iattribute_get(LTTV_IATTRIBUTE(attribute), num, &name, &value, &is_named); @@ -122,15 +123,15 @@ LttvTrace *lttvwindowtraces_get_trace(guint num) /* Total number of traces */ -guint lttvwindowtraces_get_number() +__EXPORT guint lttvwindowtraces_get_number() { LttvAttribute *g_attribute = lttv_global_attributes(); LttvAttribute *attribute; - LttvAttributeValue value; - g_assert(attribute = + attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(g_attribute), - LTTV_TRACES))); + LTTV_TRACES)); + g_assert(attribute); return ( lttv_iattribute_get_number(LTTV_IATTRIBUTE(attribute)) ); } @@ -142,21 +143,23 @@ void lttvwindowtraces_add_trace(LttvTrace *trace) LttvAttribute *g_attribute = lttv_global_attributes(); LttvAttribute *attribute; LttvAttributeValue value; - guint num; struct stat buf; gchar attribute_path[PATH_MAX]; + int result; + gboolean result_b; if(stat(g_quark_to_string(ltt_trace_name(lttv_trace(trace))), &buf)) { g_warning("lttvwindowtraces_add_trace: Trace %s not found", g_quark_to_string(ltt_trace_name(lttv_trace(trace)))); return; } - g_assert( - snprintf(attribute_path, PATH_MAX, "%llu:%llu", buf.st_dev, buf.st_ino) >= 0); + result = snprintf(attribute_path, PATH_MAX, "%llu:%llu", buf.st_dev, buf.st_ino); + g_assert(result >= 0); - g_assert(attribute = + attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(g_attribute), - LTTV_TRACES))); + LTTV_TRACES)); + g_assert(attribute); value = lttv_attribute_add(attribute, g_quark_from_string(attribute_path), @@ -170,28 +173,33 @@ void lttvwindowtraces_add_trace(LttvTrace *trace) //LttvTracesetContextPosition *sync_position; attribute = lttv_trace_attribute(trace); - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result_b = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_COMPUTATION_TRACESET, LTTV_POINTER, - &value)); + &value); + g_assert(result_b); + ts = lttv_traceset_new(); *(value.v_pointer) = ts; lttv_traceset_add(ts,trace); - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result_b = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_COMPUTATION_TRACESET_CONTEXT, LTTV_POINTER, - &value)); + &value); + g_assert(result_b); + tss = g_object_new(LTTV_TRACESET_STATS_TYPE, NULL); *(value.v_pointer) = tss; lttv_context_init(LTTV_TRACESET_CONTEXT(tss), ts); #if 0 - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result_b = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_COMPUTATION_SYNC_POSITION, LTTV_POINTER, - &value)); + &value); + g_assert(result_b); sync_position = lttv_traceset_context_position_new(); *(value.v_pointer) = sync_position; @@ -211,7 +219,6 @@ void lttvwindowtraces_add_trace(LttvTrace *trace) value = lttv_attribute_add(attribute, LTTV_NOTIFY_CURRENT, LTTV_POINTER); - } /* Remove a trace from the global attributes */ @@ -222,10 +229,12 @@ void lttvwindowtraces_remove_trace(LttvTrace *trace) LttvAttribute *attribute; LttvAttributeValue value; guint i; + gboolean result; - g_assert(attribute = + attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(g_attribute), - LTTV_TRACES))); + LTTV_TRACES)); + g_assert(attribute); for(i=0;i 0) return TRUE; attribute = lttv_trace_attribute(trace); @@ -1089,15 +1141,17 @@ gboolean lttvwindowtraces_process_pending_requests(LttvTrace *trace) /* Get before request hook */ LttvAttribute *module_attribute; - g_assert(module_attribute = + module_attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir( LTTV_IATTRIBUTE(g_attribute), - LTTV_COMPUTATION))); + LTTV_COMPUTATION)); + g_assert(module_attribute); - g_assert(module_attribute = + module_attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir( LTTV_IATTRIBUTE(module_attribute), - bg_req->module_name))); + bg_req->module_name)); + g_assert(module_attribute); type = lttv_iattribute_get_by_name(LTTV_IATTRIBUTE(module_attribute), LTTV_BEFORE_REQUEST, @@ -1296,23 +1350,30 @@ gboolean lttvwindowtraces_process_pending_requests(LttvTrace *trace) /* Get after request hook */ LttvAttribute *module_attribute; - g_assert(module_attribute = + module_attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir( LTTV_IATTRIBUTE(g_attribute), - LTTV_COMPUTATION))); + LTTV_COMPUTATION)); + g_assert(module_attribute); - g_assert(module_attribute = + module_attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir( LTTV_IATTRIBUTE(module_attribute), - bg_req->module_name))); + bg_req->module_name)); + g_assert(module_attribute); type = lttv_iattribute_get_by_name(LTTV_IATTRIBUTE(module_attribute), LTTV_AFTER_REQUEST, &value); g_assert(type == LTTV_POINTER); LttvHooks *after_request = (LttvHooks*)*(value.v_pointer); - - if(after_request != NULL) lttv_hooks_call(after_request, tsc); + { + struct sum_traceset_closure t_closure; + t_closure.tss = (LttvTracesetStats*)tsc; + t_closure.current_time = ltt_time_infinite; + if(after_request != NULL) lttv_hooks_call(after_request, + &t_closure); + } if(bg_req->dialog != NULL) gtk_widget_destroy(bg_req->dialog); @@ -1453,85 +1514,101 @@ void lttvwindowtraces_register_computation_hooks(LttvAttributeName module_name, LttvAttribute *g_attribute = lttv_global_attributes(); LttvAttribute *attribute; LttvAttributeValue value; + gboolean result; - g_assert(attribute = + attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(g_attribute), - LTTV_COMPUTATION))); + LTTV_COMPUTATION)); + g_assert(attribute); - g_assert(attribute = + attribute = LTTV_ATTRIBUTE(lttv_iattribute_find_subdir(LTTV_IATTRIBUTE(attribute), - module_name))); + module_name)); + g_assert(attribute); - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_BEFORE_CHUNK_TRACESET, LTTV_POINTER, - &value)); + &value); + g_assert(result); + *(value.v_pointer) = before_chunk_traceset; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_BEFORE_CHUNK_TRACE, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = before_chunk_trace; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_BEFORE_CHUNK_TRACEFILE, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = before_chunk_tracefile; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_AFTER_CHUNK_TRACESET, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = after_chunk_traceset; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_AFTER_CHUNK_TRACE, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = after_chunk_trace; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_AFTER_CHUNK_TRACEFILE, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = after_chunk_tracefile; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_BEFORE_REQUEST, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = before_request; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_AFTER_REQUEST, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = after_request; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_EVENT_HOOK, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = event_hook; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_EVENT_HOOK_BY_ID, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = event_hook_by_id; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_HOOK_ADDER, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = hook_adder; - g_assert(lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), + result = lttv_iattribute_find(LTTV_IATTRIBUTE(attribute), LTTV_HOOK_REMOVER, LTTV_POINTER, - &value)); + &value); + g_assert(result); *(value.v_pointer) = hook_remover; } @@ -1549,20 +1626,22 @@ void lttvwindowtraces_register_computation_hooks(LttvAttributeName module_name, void lttvwindowtraces_unregister_requests(LttvAttributeName module_name) { guint i; + gboolean result; for(i=0;i