X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fstatistics%2Fstatistics.c;h=0e87e3822b6e8ade46cf440b82f5bb53c432cee8;hb=5e96e7e38fc3a40f0d9076c7ca8f369ad8c91d8c;hp=99e7834120c420a7ec623d7f7bb10ea6937b2b38;hpb=d730b5c8b76588740d11bd12c6e85ed26bebdb4e;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/statistics/statistics.c b/ltt/branches/poly/lttv/modules/gui/statistics/statistics.c index 99e78341..0e87e382 100644 --- a/ltt/branches/poly/lttv/modules/gui/statistics/statistics.c +++ b/ltt/branches/poly/lttv/modules/gui/statistics/statistics.c @@ -168,9 +168,9 @@ static void request_background_data(StatisticViewerData *svd) * information. Happens when two viewers ask for it before servicing * starts. */ - lttvwindowtraces_background_request_remove(trace, "stats"); - lttvwindowtraces_background_request_queue(trace, - "stats"); + if(!lttvwindowtraces_background_request_find(trace, "stats")) + lttvwindowtraces_background_request_queue( + main_window_get_widget(svd->tab), trace, "stats"); lttvwindowtraces_background_notify_queue(svd, trace, ltt_time_infinite, @@ -284,8 +284,7 @@ gui_statistic(Tab *tab) lttvwindow_register_traceset_notify(statistic_viewer_data->tab, statistic_traceset_changed, statistic_viewer_data); - request_background_data(statistic_viewer_data); - + statistic_viewer_data->statistic_hash = g_hash_table_new_full(g_str_hash, g_str_equal, statistic_destroy_hash_key, @@ -336,6 +335,9 @@ gui_statistic(Tab *tab) gtk_container_add (GTK_CONTAINER (statistic_viewer_data->scroll_win_text), statistic_viewer_data->text_v); gtk_paned_pack2(GTK_PANED(statistic_viewer_data->hpaned_v), statistic_viewer_data->scroll_win_text, TRUE, FALSE); + gtk_container_set_border_width( + GTK_CONTAINER(statistic_viewer_data->hpaned_v), 1); + gtk_widget_show(statistic_viewer_data->scroll_win_tree); gtk_widget_show(statistic_viewer_data->scroll_win_text); gtk_widget_show(statistic_viewer_data->tree_v); @@ -353,6 +355,8 @@ gui_statistic(Tab *tab) g_statistic_viewer_data_list, statistic_viewer_data); + request_background_data(statistic_viewer_data); + return statistic_viewer_data; } @@ -446,6 +450,7 @@ void show_traceset_stats(StatisticViewerData * statistic_viewer_data) start_time.tv_sec, start_time.tv_nsec); #endif //0 + sprintf(trace_str, g_quark_to_string(ltt_trace_name(tcs->parent.parent.t))); gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter,NAME_COLUMN,trace_str,-1); path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &iter); @@ -467,6 +472,7 @@ void show_tree(StatisticViewerData * statistic_viewer_data, LttvAttributeName name; LttvAttributeValue value; LttvAttributeType type; + gboolean is_named; gchar * str, dir_str[PATH_LENGTH]; GtkTreePath * path; GtkTreeIter iter; @@ -474,17 +480,20 @@ void show_tree(StatisticViewerData * statistic_viewer_data, nb = lttv_attribute_get_number(stats); for(i = 0 ; i < nb ; i++) { - type = lttv_attribute_get(stats, i, &name, &value); + type = lttv_attribute_get(stats, i, &name, &value, &is_named); switch(type) { case LTTV_GOBJECT: if(LTTV_IS_ATTRIBUTE(*(value.v_gobject))) { - sprintf(dir_str, "%s", g_quark_to_string(name)); subtree = (LttvAttribute *)*(value.v_gobject); - gtk_tree_store_append (store, &iter, parent); - gtk_tree_store_set (store, &iter,NAME_COLUMN,dir_str,-1); - path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &iter); - str = gtk_tree_path_to_string (path); - g_hash_table_insert(statistic_viewer_data->statistic_hash, + if(is_named) + sprintf(dir_str, "%s", g_quark_to_string(name)); + else + sprintf(dir_str, "%u", name); + gtk_tree_store_append (store, &iter, parent); + gtk_tree_store_set (store, &iter,NAME_COLUMN,dir_str,-1); + path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &iter); + str = gtk_tree_path_to_string (path); + g_hash_table_insert(statistic_viewer_data->statistic_hash, (gpointer)str, subtree); show_tree(statistic_viewer_data, subtree, &iter); } @@ -502,14 +511,18 @@ void show_statistic(StatisticViewerData * statistic_viewer_data, LttvAttributeName name; LttvAttributeValue value; LttvAttributeType type; + gboolean is_named; gchar type_name[PATH_LENGTH], type_value[PATH_LENGTH]; GtkTextIter text_iter; flag = 0; nb = lttv_attribute_get_number(stats); for(i = 0 ; i < nb ; i++) { - type = lttv_attribute_get(stats, i, &name, &value); - sprintf(type_name,"%s", g_quark_to_string(name)); + type = lttv_attribute_get(stats, i, &name, &value, &is_named); + if(is_named) + sprintf(type_name,"%s", g_quark_to_string(name)); + else + sprintf(type_name,"%u", name); type_value[0] = '\0'; switch(type) { case LTTV_INT: