- N_COLUMNS, /* Total number of columns */
- G_TYPE_INT, /* CPUID */
- G_TYPE_STRING, /* Event */
- G_TYPE_UINT64, /* Time */
- G_TYPE_INT, /* PID */
- G_TYPE_INT, /* Entry length */
- G_TYPE_STRING); /* Event's description */
-
+ N_COLUMNS, /* Total number of columns */
+ G_TYPE_INT, /* CPUID */
+ G_TYPE_STRING, /* Event */
+ G_TYPE_UINT64, /* Time */
+ G_TYPE_INT, /* PID */
+ G_TYPE_INT, /* Entry length */
+ G_TYPE_STRING); /* Event's description */
+
- {
- /* move one line down */
- if(indices[0] == event_viewer_data->num_visible_events - 1)
- {
- if(value + event_viewer_data->num_visible_events <=
- event_viewer_data->number_of_events -1)
- {
- event_viewer_data->currently_selected_event += 1;
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c, value+1);
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(event_viewer_data->num_visible_events-1, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
- }
- }
- } else {
- /* Move one line up */
- if(indices[0] == 0)
- {
- if(value - 1 >= 0 )
- {
- event_viewer_data->currently_selected_event -= 1;
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c, value-1);
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(0, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
- }
-
- }
- }
+ {
+ /* move one line down */
+ if(indices[0] == event_viewer_data->num_visible_events - 1)
+ {
+ if(value + event_viewer_data->num_visible_events <=
+ event_viewer_data->number_of_events -1)
+ {
+ event_viewer_data->currently_selected_event += 1;
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c, value+1);
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(event_viewer_data->num_visible_events-1, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+ }
+ }
+ } else {
+ /* Move one line up */
+ if(indices[0] == 0)
+ {
+ if(value - 1 >= 0 )
+ {
+ event_viewer_data->currently_selected_event -= 1;
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c, value-1);
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(0, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+ }
+
+ }
+ }
- {
- if(event_viewer_data->num_visible_events == 1)
- value += 1 ;
- /* move one page down */
- if(value + event_viewer_data->num_visible_events-1 <=
- event_viewer_data->number_of_events )
- {
- event_viewer_data->currently_selected_event += event_viewer_data->num_visible_events-1;
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
- // value+(event_viewer_data->num_visible_events-1));
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(0, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
- }
- } else {
- /* Move one page up */
- if(event_viewer_data->num_visible_events == 1)
- value -= 1 ;
-
- if(indices[0] < event_viewer_data->num_visible_events - 2 )
- {
- if(value - (event_viewer_data->num_visible_events-1) >= 0)
- {
- event_viewer_data->currently_selected_event -= event_viewer_data->num_visible_events-1;
-
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
- // value-(event_viewer_data->num_visible_events-1));
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(0, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
-
- } else {
- /* Go to first Event */
- event_viewer_data->currently_selected_event == 0 ;
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
- // 0);
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(0, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
-
- }
- }
-
- }
+ {
+ if(event_viewer_data->num_visible_events == 1)
+ value += 1 ;
+ /* move one page down */
+ if(value + event_viewer_data->num_visible_events-1 <=
+ event_viewer_data->number_of_events )
+ {
+ event_viewer_data->currently_selected_event += event_viewer_data->num_visible_events-1;
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
+ // value+(event_viewer_data->num_visible_events-1));
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(0, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+ }
+ } else {
+ /* Move one page up */
+ if(event_viewer_data->num_visible_events == 1)
+ value -= 1 ;
+
+ if(indices[0] < event_viewer_data->num_visible_events - 2 )
+ {
+ if(value - (event_viewer_data->num_visible_events-1) >= 0)
+ {
+ event_viewer_data->currently_selected_event -= event_viewer_data->num_visible_events-1;
+
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
+ // value-(event_viewer_data->num_visible_events-1));
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(0, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+
+ } else {
+ /* Go to first Event */
+ event_viewer_data->currently_selected_event == 0 ;
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
+ // 0);
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(0, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+
+ }
+ }
+
+ }
- {
- /* move end of buffer */
- event_viewer_data->currently_selected_event = event_viewer_data->number_of_events-1 ;
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
- // event_viewer_data->number_of_events -
- // event_viewer_data->num_visible_events);
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(event_viewer_data->num_visible_events-1, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
- } else {
- /* Move beginning of buffer */
- event_viewer_data->currently_selected_event = 0 ;
- // gtk_adjustment_set_value(event_viewer_data->vadjust_c, 0);
- //gtk_tree_path_free(path);
- //path = gtk_tree_path_new_from_indices(0, -1);
- //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
- g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
- }
+ {
+ /* move end of buffer */
+ event_viewer_data->currently_selected_event = event_viewer_data->number_of_events-1 ;
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c,
+ // event_viewer_data->number_of_events -
+ // event_viewer_data->num_visible_events);
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(event_viewer_data->num_visible_events-1, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+ } else {
+ /* Move beginning of buffer */
+ event_viewer_data->currently_selected_event = 0 ;
+ // gtk_adjustment_set_value(event_viewer_data->vadjust_c, 0);
+ //gtk_tree_path_free(path);
+ //path = gtk_tree_path_new_from_indices(0, -1);
+ //gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v), path, NULL, FALSE);
+ g_signal_stop_emission_by_name(G_OBJECT(widget), "move-cursor");
+ }
- CPUID_COLUMN, raw_data->cpu_id,
- EVENT_COLUMN, raw_data->event_name,
- TIME_COLUMN, real_data,
- PID_COLUMN, raw_data->pid,
- ENTRY_LEN_COLUMN, raw_data->entry_length,
- EVENT_DESCR_COLUMN, raw_data->event_description,
- -1);
+ CPUID_COLUMN, raw_data->cpu_id,
+ EVENT_COLUMN, raw_data->event_name,
+ TIME_COLUMN, real_data,
+ PID_COLUMN, raw_data->pid,
+ ENTRY_LEN_COLUMN, raw_data->entry_length,
+ EVENT_DESCR_COLUMN, raw_data->event_description,
+ -1);
- if(direction == SCROLL_PAGE_UP){
- backward = list_height>event_viewer_data->start_event_index ? TRUE : FALSE;
- }else{
- backward = event_viewer_data->start_event_index == 0 ? TRUE : FALSE;
- }
- if(backward){
- event_viewer_data->append = FALSE;
- do{
- if(direction == SCROLL_PAGE_UP){
- minNum = list_height - event_viewer_data->start_event_index ;
- }else{
- minNum = 1;
- }
-
- first = event_viewer_data->raw_trace_data_queue->head;
- if(!first)break;
- raw_data = (RawTraceData*)g_list_nth_data(first,0);
- end = raw_data->time;
- end.tv_nsec--;
- ltt_event_position_get(raw_data->ep, &block_num, &event_num, &tf);
- if(size !=0){
- if(event_num > minNum){
- backward_num = event_num > RESERVE_SMALL_SIZE
- ? event_num - RESERVE_SMALL_SIZE : 1;
- ltt_event_position_set(raw_data->ep, block_num, backward_num);
- ltt_tracefile_seek_position(tf, raw_data->ep);
- ev = ltt_tracefile_read(tf);
- start = ltt_event_time(ev);
- maxNum = RESERVE_SMALL_SIZE_CUBE;
- }else{
- if(block_num > 1){
- ltt_event_position_set(raw_data->ep, block_num-1, 1);
- ltt_tracefile_seek_position(tf, raw_data->ep);
- ev = ltt_tracefile_read(tf);
- start = ltt_event_time(ev);
- }else{
- start.tv_sec = 0;
- start.tv_nsec = 0;
- }
- maxNum = RESERVE_SMALL_SIZE_CUBE;
- }
- }else{
- if(block_num > count){
- ltt_event_position_set(raw_data->ep, block_num-count, 1);
- ltt_tracefile_seek_position(tf, raw_data->ep);
- ev = ltt_tracefile_read(tf);
- start = ltt_event_time(ev);
- }else{
- start.tv_sec = 0;
- start.tv_nsec = 0;
- }
- maxNum = RESERVE_SMALL_SIZE_CUBE;
- }
-
- event_viewer_data->current_event_index = event_viewer_data->start_event_index;
- get_events(event_viewer_data, start, end, maxNum, &size);
- event_viewer_data->start_event_index = event_viewer_data->current_event_index;
-
- if(size < minNum && (start.tv_sec !=0 || start.tv_nsec !=0))
- need_backward_again = TRUE;
- else need_backward_again = FALSE;
- if(size == 0){
- count++;
- }else{
- count = 0;
- }
- }while(need_backward_again);
- }
- if(direction == SCROLL_STEP_UP)
- event_number = event_viewer_data->start_event_index - 1;
- else
- event_number = event_viewer_data->start_event_index - list_height;
- break;
+ if(direction == SCROLL_PAGE_UP){
+ backward = list_height>event_viewer_data->start_event_index ? TRUE : FALSE;
+ }else{
+ backward = event_viewer_data->start_event_index == 0 ? TRUE : FALSE;
+ }
+ if(backward){
+ event_viewer_data->append = FALSE;
+ do{
+ if(direction == SCROLL_PAGE_UP){
+ minNum = list_height - event_viewer_data->start_event_index ;
+ }else{
+ minNum = 1;
+ }
+
+ first = event_viewer_data->raw_trace_data_queue->head;
+ if(!first)break;
+ raw_data = (RawTraceData*)g_list_nth_data(first,0);
+ end = raw_data->time;
+ end.tv_nsec--;
+ ltt_event_position_get(raw_data->ep, &block_num, &event_num, &tf);
+ if(size !=0){
+ if(event_num > minNum){
+ backward_num = event_num > RESERVE_SMALL_SIZE
+ ? event_num - RESERVE_SMALL_SIZE : 1;
+ ltt_event_position_set(raw_data->ep, block_num, backward_num);
+ ltt_tracefile_seek_position(tf, raw_data->ep);
+ ev = ltt_tracefile_read(tf);
+ start = ltt_event_time(ev);
+ maxNum = RESERVE_SMALL_SIZE_CUBE;
+ }else{
+ if(block_num > 1){
+ ltt_event_position_set(raw_data->ep, block_num-1, 1);
+ ltt_tracefile_seek_position(tf, raw_data->ep);
+ ev = ltt_tracefile_read(tf);
+ start = ltt_event_time(ev);
+ }else{
+ start.tv_sec = 0;
+ start.tv_nsec = 0;
+ }
+ maxNum = RESERVE_SMALL_SIZE_CUBE;
+ }
+ }else{
+ if(block_num > count){
+ ltt_event_position_set(raw_data->ep, block_num-count, 1);
+ ltt_tracefile_seek_position(tf, raw_data->ep);
+ ev = ltt_tracefile_read(tf);
+ start = ltt_event_time(ev);
+ }else{
+ start.tv_sec = 0;
+ start.tv_nsec = 0;
+ }
+ maxNum = RESERVE_SMALL_SIZE_CUBE;
+ }
+
+ event_viewer_data->current_event_index = event_viewer_data->start_event_index;
+ get_events(event_viewer_data, start, end, maxNum, &size);
+ event_viewer_data->start_event_index = event_viewer_data->current_event_index;
+
+ if(size < minNum && (start.tv_sec !=0 || start.tv_nsec !=0))
+ need_backward_again = TRUE;
+ else need_backward_again = FALSE;
+ if(size == 0){
+ count++;
+ }else{
+ count = 0;
+ }
+ }while(need_backward_again);
+ }
+ if(direction == SCROLL_STEP_UP)
+ event_number = event_viewer_data->start_event_index - 1;
+ else
+ event_number = event_viewer_data->start_event_index - list_height;
+ break;
- if(event_viewer_data->end_event_index == event_viewer_data->number_of_events - 1){
- event_viewer_data->append = TRUE;
- first = event_viewer_data->raw_trace_data_queue->head;
- if(!first)break;
- raw_data = (RawTraceData*)g_list_nth_data(first,event_viewer_data->number_of_events - 1);
- start = raw_data->time;
- start.tv_nsec++;
- end.tv_sec = G_MAXULONG;
- end.tv_nsec = G_MAXULONG;
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE, &size);
- if(size == 0){
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_SQUARE,&size);
- if(size == 0)
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_CUBE,&size);
- }
- if(size==0) event_number = event_viewer_data->start_event_index;
- else event_number = event_viewer_data->number_of_events - size - list_height + 1;
- }else event_number = event_viewer_data->start_event_index + 1;
- break;
+ if(event_viewer_data->end_event_index == event_viewer_data->number_of_events - 1){
+ event_viewer_data->append = TRUE;
+ first = event_viewer_data->raw_trace_data_queue->head;
+ if(!first)break;
+ raw_data = (RawTraceData*)g_list_nth_data(first,event_viewer_data->number_of_events - 1);
+ start = raw_data->time;
+ start.tv_nsec++;
+ end.tv_sec = G_MAXULONG;
+ end.tv_nsec = G_MAXULONG;
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE, &size);
+ if(size == 0){
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_SQUARE,&size);
+ if(size == 0)
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_CUBE,&size);
+ }
+ if(size==0) event_number = event_viewer_data->start_event_index;
+ else event_number = event_viewer_data->number_of_events - size - list_height + 1;
+ }else event_number = event_viewer_data->start_event_index + 1;
+ break;
- i = event_viewer_data->number_of_events - 1 - list_height;
- if((gint)(event_viewer_data->end_event_index) >= i){
- int remain_events = event_viewer_data->number_of_events - 1
- - event_viewer_data->end_event_index;
- event_viewer_data->append = TRUE;
- first = event_viewer_data->raw_trace_data_queue->head;
- if(!first)break;
- raw_data = (RawTraceData*)g_list_nth_data(first,event_viewer_data->number_of_events - 1);
- start = raw_data->time;
- start.tv_nsec++;
- end.tv_sec = G_MAXULONG;
- end.tv_nsec = G_MAXULONG;
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE,&size);
- if(size == 0){
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_SQUARE,&size);
- if(size == 0)
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_CUBE,&size);
- }
- remain_events += size;
- if(list_height <= remain_events)
- event_number = event_viewer_data->number_of_events - remain_events - 1;
- else
- event_number = event_viewer_data->number_of_events - 1 - list_height;
- }else event_number = event_viewer_data->start_event_index + list_height - 1;
- break;
+ i = event_viewer_data->number_of_events - 1 - list_height;
+ if((gint)(event_viewer_data->end_event_index) >= i){
+ int remain_events = event_viewer_data->number_of_events - 1
+ - event_viewer_data->end_event_index;
+ event_viewer_data->append = TRUE;
+ first = event_viewer_data->raw_trace_data_queue->head;
+ if(!first)break;
+ raw_data = (RawTraceData*)g_list_nth_data(first,event_viewer_data->number_of_events - 1);
+ start = raw_data->time;
+ start.tv_nsec++;
+ end.tv_sec = G_MAXULONG;
+ end.tv_nsec = G_MAXULONG;
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE,&size);
+ if(size == 0){
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_SQUARE,&size);
+ if(size == 0)
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_CUBE,&size);
+ }
+ remain_events += size;
+ if(list_height <= remain_events)
+ event_number = event_viewer_data->number_of_events - remain_events - 1;
+ else
+ event_number = event_viewer_data->number_of_events - 1 - list_height;
+ }else event_number = event_viewer_data->start_event_index + list_height - 1;
+ break;
- event_viewer_data->append = TRUE;
- remove_all_items_from_queue(event_viewer_data->raw_trace_data_queue);
- end.tv_sec = G_MAXULONG;
- end.tv_nsec = G_MAXULONG;
- time = ltt_time_from_double(time_value / NANOSECONDS_PER_SECOND);
- start = ltt_time_add(event_viewer_data->time_span.startTime, time);
- event_viewer_data->previous_value = time_value;
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE,&size);
- if(size < list_height && size > 0){
- event_viewer_data->append = FALSE;
- first = event_viewer_data->raw_trace_data_queue->head;
- if(!first)break;
- raw_data = (RawTraceData*)g_list_nth_data(first,0);
- end = raw_data->time;
- end.tv_nsec--;
- ltt_event_position_get(raw_data->ep, &block_num, &event_num, &tf);
-
- if(event_num > list_height - size){
- backward_num = event_num > RESERVE_SMALL_SIZE
- ? event_num - RESERVE_SMALL_SIZE : 1;
- ltt_event_position_set(raw_data->ep, block_num, backward_num);
- ltt_tracefile_seek_position(tf, raw_data->ep);
- ev = ltt_tracefile_read(tf);
- start = ltt_event_time(ev);
- maxNum = RESERVE_SMALL_SIZE_CUBE;
- event_viewer_data->current_event_index = 0;
- get_events(event_viewer_data, start, end, maxNum, &size);
- event_viewer_data->start_event_index = event_viewer_data->current_event_index;
- }
- event_number = event_viewer_data->raw_trace_data_queue->length - list_height;
- }else if(size == 0){
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_SQUARE,&size);
- if(size == 0)
- get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_CUBE,&size);
- event_number = 0;
- }else{
- event_number = 0;
- }
- break;
+ event_viewer_data->append = TRUE;
+ remove_all_items_from_queue(event_viewer_data->raw_trace_data_queue);
+ end.tv_sec = G_MAXULONG;
+ end.tv_nsec = G_MAXULONG;
+ time = ltt_time_from_double(time_value / NANOSECONDS_PER_SECOND);
+ start = ltt_time_add(event_viewer_data->time_span.startTime, time);
+ event_viewer_data->previous_value = time_value;
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE,&size);
+ if(size < list_height && size > 0){
+ event_viewer_data->append = FALSE;
+ first = event_viewer_data->raw_trace_data_queue->head;
+ if(!first)break;
+ raw_data = (RawTraceData*)g_list_nth_data(first,0);
+ end = raw_data->time;
+ end.tv_nsec--;
+ ltt_event_position_get(raw_data->ep, &block_num, &event_num, &tf);
+
+ if(event_num > list_height - size){
+ backward_num = event_num > RESERVE_SMALL_SIZE
+ ? event_num - RESERVE_SMALL_SIZE : 1;
+ ltt_event_position_set(raw_data->ep, block_num, backward_num);
+ ltt_tracefile_seek_position(tf, raw_data->ep);
+ ev = ltt_tracefile_read(tf);
+ start = ltt_event_time(ev);
+ maxNum = RESERVE_SMALL_SIZE_CUBE;
+ event_viewer_data->current_event_index = 0;
+ get_events(event_viewer_data, start, end, maxNum, &size);
+ event_viewer_data->start_event_index = event_viewer_data->current_event_index;
+ }
+ event_number = event_viewer_data->raw_trace_data_queue->length - list_height;
+ }else if(size == 0){
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_SQUARE,&size);
+ if(size == 0)
+ get_events(event_viewer_data, start, end, RESERVE_SMALL_SIZE_CUBE,&size);
+ event_number = 0;
+ }else{
+ event_number = 0;
+ }
+ break;
- raw_data = (RawTraceData*)g_list_nth_data(first,event_number);
- if(!raw_data) raw_data = (RawTraceData*)g_list_nth_data(first,0);
- time = ltt_time_sub(raw_data->time, event_viewer_data->time_span.startTime);
- event_viewer_data->vadjust_c->value = ltt_time_to_double(time) * NANOSECONDS_PER_SECOND;
- g_signal_stop_emission_by_name(G_OBJECT(event_viewer_data->vadjust_c), "value-changed");
- event_viewer_data->previous_value = event_viewer_data->vadjust_c->value;
+ raw_data = (RawTraceData*)g_list_nth_data(first,event_number);
+ if(!raw_data) raw_data = (RawTraceData*)g_list_nth_data(first,0);
+ time = ltt_time_sub(raw_data->time, event_viewer_data->time_span.startTime);
+ event_viewer_data->vadjust_c->value = ltt_time_to_double(time) * NANOSECONDS_PER_SECOND;
+ g_signal_stop_emission_by_name(G_OBJECT(event_viewer_data->vadjust_c), "value-changed");
+ event_viewer_data->previous_value = event_viewer_data->vadjust_c->value;
- {
- if(i>=event_viewer_data->number_of_events) break;
- /* Prepend new events */
- gtk_list_store_prepend (event_viewer_data->store_m, &iter);
- gtk_list_store_set (event_viewer_data->store_m, &iter,
- CPUID_COLUMN, 0,
- EVENT_COLUMN, "event irq",
- TIME_COLUMN, i,
- PID_COLUMN, 100,
- ENTRY_LEN_COLUMN, 17,
- EVENT_DESCR_COLUMN, "Detailed information",
- -1);
- }
+ {
+ if(i>=event_viewer_data->number_of_events) break;
+ /* Prepend new events */
+ gtk_list_store_prepend (event_viewer_data->store_m, &iter);
+ gtk_list_store_set (event_viewer_data->store_m, &iter,
+ CPUID_COLUMN, 0,
+ EVENT_COLUMN, "event irq",
+ TIME_COLUMN, i,
+ PID_COLUMN, 100,
+ ENTRY_LEN_COLUMN, 17,
+ EVENT_DESCR_COLUMN, "Detailed information",
+ -1);
+ }
- {
- if(i>=event_viewer_data->number_of_events) break;
- /* Append new events */
- gtk_list_store_append (event_viewer_data->store_m, &iter);
- gtk_list_store_set (event_viewer_data->store_m, &iter,
- CPUID_COLUMN, 0,
- EVENT_COLUMN, "event irq",
- TIME_COLUMN, i,
- PID_COLUMN, 100,
- ENTRY_LEN_COLUMN, 17,
- EVENT_DESCR_COLUMN, "Detailed information",
- -1);
- }
+ {
+ if(i>=event_viewer_data->number_of_events) break;
+ /* Append new events */
+ gtk_list_store_append (event_viewer_data->store_m, &iter);
+ gtk_list_store_set (event_viewer_data->store_m, &iter,
+ CPUID_COLUMN, 0,
+ EVENT_COLUMN, "event irq",
+ TIME_COLUMN, i,
+ PID_COLUMN, 100,
+ ENTRY_LEN_COLUMN, 17,
+ EVENT_DESCR_COLUMN, "Detailed information",
+ -1);
+ }
- fac = ltt_trace_facility_get(trace,k);
- nb_event = (int) ltt_facility_eventtype_number(fac);
- for(m=0;m<nb_event;m++){
- et = ltt_facility_eventtype_get(fac,m);
- eventtype = lttv_tracefile_selector_eventtype_get(tf_s, n);
- selected = lttv_eventtype_selector_get_selected(eventtype);
- if(selected){
- id = (gint) ltt_eventtype_id(et);
- lttv_tracefile_context_add_hooks_by_id(tfc,id,
- event_viewer_data->before_event_hooks,
- NULL);
- }
- n++;
- }
+ fac = ltt_trace_facility_get(trace,k);
+ nb_event = (int) ltt_facility_eventtype_number(fac);
+ for(m=0;m<nb_event;m++){
+ et = ltt_facility_eventtype_get(fac,m);
+ eventtype = lttv_tracefile_selector_eventtype_get(tf_s, n);
+ selected = lttv_eventtype_selector_get_selected(eventtype);
+ if(selected){
+ id = (gint) ltt_eventtype_id(et);
+ lttv_tracefile_context_add_hooks_by_id(tfc,id,
+ event_viewer_data->before_event_hooks,
+ NULL);
+ }
+ n++;
+ }
- fac = ltt_trace_facility_get(trace,k);
- nb_event = (int) ltt_facility_eventtype_number(fac);
- for(m=0;m<nb_event;m++){
- et = ltt_facility_eventtype_get(fac,m);
- eventtype = lttv_tracefile_selector_eventtype_get(tf_s, n);
- selected = lttv_eventtype_selector_get_selected(eventtype);
- if(selected){
- id = (gint) ltt_eventtype_id(et);
- lttv_tracefile_context_remove_hooks_by_id(tfc,id);
- }
- n++;
- }
+ fac = ltt_trace_facility_get(trace,k);
+ nb_event = (int) ltt_facility_eventtype_number(fac);
+ for(m=0;m<nb_event;m++){
+ et = ltt_facility_eventtype_get(fac,m);
+ eventtype = lttv_tracefile_selector_eventtype_get(tf_s, n);
+ selected = lttv_eventtype_selector_get_selected(eventtype);
+ if(selected){
+ id = (gint) ltt_eventtype_id(et);
+ lttv_tracefile_context_remove_hooks_by_id(tfc,id);
+ }
+ n++;
+ }
- for(i= event_viewer_data->raw_trace_data_queue->length-1;i>=0;i--){
- data = (RawTraceData*)g_list_nth_data(list,i);
- len = data->pid==0 ? -2 : data->pid;
- if(data->cpu_id+1 > pid_array->len){
- pid_array = g_array_set_size(pid_array,data->cpu_id+1);
- pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
- pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
- }else if(data->cpu_id+1 < pid_array->len){
- pid = g_array_index(pid_array,int,data->cpu_id);
- if(pid == 0){
- pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
- pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
- }
- }
- }
-
- for(i=0;i<event_viewer_data->raw_trace_data_queue_tmp->length;i++){
- data = (RawTraceData*)g_list_nth_data(tmpList,i);
- len = data->pid==0 ? -2 : data->pid;
- if(data->cpu_id+1 > tmp_pid_array->len){
- tmp_pid_array = g_array_set_size(tmp_pid_array,data->cpu_id+1);
- tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
- tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
- }else if(data->cpu_id+1 < tmp_pid_array->len){
- pid = g_array_index(tmp_pid_array,int,data->cpu_id);
- if(pid == 0){
- tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
- tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
- }
- }
- }
+ for(i= event_viewer_data->raw_trace_data_queue->length-1;i>=0;i--){
+ data = (RawTraceData*)g_list_nth_data(list,i);
+ len = data->pid==0 ? -2 : data->pid;
+ if(data->cpu_id+1 > pid_array->len){
+ pid_array = g_array_set_size(pid_array,data->cpu_id+1);
+ pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
+ pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
+ }else if(data->cpu_id+1 < pid_array->len){
+ pid = g_array_index(pid_array,int,data->cpu_id);
+ if(pid == 0){
+ pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
+ pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
+ }
+ }
+ }
+
+ for(i=0;i<event_viewer_data->raw_trace_data_queue_tmp->length;i++){
+ data = (RawTraceData*)g_list_nth_data(tmpList,i);
+ len = data->pid==0 ? -2 : data->pid;
+ if(data->cpu_id+1 > tmp_pid_array->len){
+ tmp_pid_array = g_array_set_size(tmp_pid_array,data->cpu_id+1);
+ tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
+ tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
+ }else if(data->cpu_id+1 < tmp_pid_array->len){
+ pid = g_array_index(tmp_pid_array,int,data->cpu_id);
+ if(pid == 0){
+ tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
+ tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
+ }
+ }
+ }
- for(i=0;i<event_viewer_data->raw_trace_data_queue->length;i++){
- data = (RawTraceData*)g_list_nth_data(list,i);
- len = data->pid==0 ? -2 : data->pid;
- if(data->cpu_id+1 > pid_array->len){
- pid_array = g_array_set_size(pid_array,data->cpu_id+1);
- pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
- pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
- }else if(data->cpu_id+1 < pid_array->len){
- pid = g_array_index(pid_array,int,data->cpu_id);
- if(pid == 0){
- pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
- pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
- }
- }
- }
-
- for(i=event_viewer_data->raw_trace_data_queue_tmp->length-1;i>=0;i--){
- data = (RawTraceData*)g_list_nth_data(tmpList,i);
- len = data->pid==0 ? -2 : data->pid;
- if(data->cpu_id+1 > tmp_pid_array->len){
- tmp_pid_array = g_array_set_size(tmp_pid_array,data->cpu_id+1);
- tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
- tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
- }else if(data->cpu_id+1 < tmp_pid_array->len){
- pid = g_array_index(tmp_pid_array,int,data->cpu_id);
- if(pid == 0){
- tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
- tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
- }
- }
- }
+ for(i=0;i<event_viewer_data->raw_trace_data_queue->length;i++){
+ data = (RawTraceData*)g_list_nth_data(list,i);
+ len = data->pid==0 ? -2 : data->pid;
+ if(data->cpu_id+1 > pid_array->len){
+ pid_array = g_array_set_size(pid_array,data->cpu_id+1);
+ pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
+ pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
+ }else if(data->cpu_id+1 < pid_array->len){
+ pid = g_array_index(pid_array,int,data->cpu_id);
+ if(pid == 0){
+ pid_array = g_array_insert_val(pid_array,data->cpu_id,len);
+ pid_array = g_array_remove_index(pid_array,data->cpu_id+1);
+ }
+ }
+ }
+
+ for(i=event_viewer_data->raw_trace_data_queue_tmp->length-1;i>=0;i--){
+ data = (RawTraceData*)g_list_nth_data(tmpList,i);
+ len = data->pid==0 ? -2 : data->pid;
+ if(data->cpu_id+1 > tmp_pid_array->len){
+ tmp_pid_array = g_array_set_size(tmp_pid_array,data->cpu_id+1);
+ tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
+ tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
+ }else if(data->cpu_id+1 < tmp_pid_array->len){
+ pid = g_array_index(tmp_pid_array,int,data->cpu_id);
+ if(pid == 0){
+ tmp_pid_array = g_array_insert_val(tmp_pid_array,data->cpu_id,len);
+ tmp_pid_array = g_array_remove_index(tmp_pid_array,data->cpu_id+1);
+ }
+ }
+ }
- pid = g_array_index(pid_array,int, j);
- tmpPid = g_array_index(tmp_pid_array,int,j);
- if(pid == -2)pid = 0;
- if(tmpPid == -2) tmpPid = 0;
-
- if(pid == -1 && tmpPid != -1){
- for(i=0;i<event_viewer_data->raw_trace_data_queue->length;i++){
- data = (RawTraceData*)g_list_nth_data(list,i);
- if(data->pid == -1 && data->cpu_id == j) data->pid = tmpPid;
- }
- }else if(pid != -1 && tmpPid == -1){
- for(i=0;i<event_viewer_data->raw_trace_data_queue_tmp->length;i++){
- data = (RawTraceData*)g_list_nth_data(tmpList,i);
- if(data->pid == -1 && data->cpu_id == j) data->pid = pid;
- }
- }
+ pid = g_array_index(pid_array,int, j);
+ tmpPid = g_array_index(tmp_pid_array,int,j);
+ if(pid == -2)pid = 0;
+ if(tmpPid == -2) tmpPid = 0;
+
+ if(pid == -1 && tmpPid != -1){
+ for(i=0;i<event_viewer_data->raw_trace_data_queue->length;i++){
+ data = (RawTraceData*)g_list_nth_data(list,i);
+ if(data->pid == -1 && data->cpu_id == j) data->pid = tmpPid;
+ }
+ }else if(pid != -1 && tmpPid == -1){
+ for(i=0;i<event_viewer_data->raw_trace_data_queue_tmp->length;i++){
+ data = (RawTraceData*)g_list_nth_data(tmpList,i);
+ if(data->pid == -1 && data->cpu_id == j) data->pid = pid;
+ }
+ }
add_context_hooks(event_viewer_data,tsc);
process_traceset_api(event_viewer_data->mw, start, end, max_num_events);
remove_context_hooks(event_viewer_data,tsc);
// context_remove_hooks_api(event_viewer_data->mw, NULL, NULL, NULL, NULL, NULL, NULL,
add_context_hooks(event_viewer_data,tsc);
process_traceset_api(event_viewer_data->mw, start, end, max_num_events);
remove_context_hooks(event_viewer_data,tsc);
// context_remove_hooks_api(event_viewer_data->mw, NULL, NULL, NULL, NULL, NULL, NULL,