support multiple traces in histo
authorcompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Thu, 6 Jul 2006 17:49:49 +0000 (17:49 +0000)
committercompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Thu, 6 Jul 2006 17:49:49 +0000 (17:49 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@1976 04897980-b3bd-0310-b5e0-8ef037075253

ltt/branches/poly/lttv/modules/gui/histogram/histocfv.h
ltt/branches/poly/lttv/modules/gui/histogram/histodrawing.c
ltt/branches/poly/lttv/modules/gui/histogram/histoeventhooks.c

index d897f77d62cc1357405b4ab5f0c0778fd7961b27..6f6ba95bfabc9dec075fc79c4b15a12b8952d695 100644 (file)
@@ -70,7 +70,8 @@ struct _HistoControlFlowData {
 // For histogram  
   guint max_height;
 
- LttvFilter *histo_main_win_filter;
+  LttvFilter *histo_main_win_filter;
+  gboolean chunk_has_begun;
 } ;
 
 /* Control Flow Data constructor */
index 173276f2b7d31937c3da5078c991a8cffea6ef3a..53addbcec1909a9cd28fbc21a6c13a057bea6715 100644 (file)
@@ -40,7 +40,7 @@
 #define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format)
 
 //FIXME
-#define TRACE_NUMBER 0
+// fixed #define TRACE_NUMBER 0
 #define EXTRA_ALLOC 1024 // pixels
 #define padding_width 50
 
@@ -149,21 +149,15 @@ void histo_drawing_data_request_begin(EventsRequest *events_request, LttvTracese
 
  }
 
- void histo_drawing_chunk_begin(EventsRequest *events_request, LttvTracesetState *tss)
+void histo_drawing_chunk_begin(EventsRequest *events_request, LttvTracesetState *tss)
 {
   g_debug("Begin of chunk");
   HistoControlFlowData *cfd = events_request->viewer_data;
   LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tss);
-  //LttTime current_time = lttv_traceset_context_get_current_tfc(tsc)->timestamp;
-  guint num_cpu = 
-    ltt_trace_get_num_cpu(tss->parent.traces[TRACE_NUMBER]->t);
-
-  /* //disabled for histogram
-   cfd->process_list->current_hash_data = g_new(HashedProcessData*,num_cpu);
-  memset(cfd->process_list->current_hash_data, 0,
-         sizeof(HashedProcessData*)*num_cpu);*/
-  //cfd->drawing->last_start = LTT_TIME_MIN(current_time,
-  //                                        events_request->end_time);
+
+  if(cfd->chunk_has_begun) return;
+
+  cfd->chunk_has_begun = TRUE;
 }
 
 
index dc37164c8ad6e07dc3d22506ed47145dc7d25ac9..96382c877399e9742a7b4c085bce572fd77df1bc 100644 (file)
@@ -81,7 +81,7 @@
 #define MAX_PATH_LEN 256
 #define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
 //FIXME
-#define TRACE_NUMBER 0
+// fixed #define TRACE_NUMBER 0
 #define EXTRA_ALLOC 1024 // pixels
 
 /* Action to do when background computation completed.
@@ -251,8 +251,8 @@ void histo_request_event( HistoControlFlowData *histocontrol_flow_data, guint x,
  
   // LttvHooksById *histo_event_by_id = lttv_hooks_by_id_new();//if necessary for filter!
   // FIXME : eventually request for more traces 
-  for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++)
-  {   
+  // fixed for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++) {
+  for(i=0;i<nb_trace;i++) {
        //should be in the loop or before? 
        EventsRequest *histo_events_request = g_new(EventsRequest, 1);
        
@@ -1109,6 +1109,9 @@ int histo_after_chunk(void *hook_data, void *call_data)
 
   histoDrawing_t *drawing = histocontrol_flow_data->drawing;
 
+  if(!histocontrol_flow_data->chunk_has_begun) return;
+  histocontrol_flow_data->chunk_has_begun = TRUE;
+
   if(tfc != NULL)
     end_time = LTT_TIME_MIN(tfc->timestamp, events_request->end_time);
   else /* end of traceset, or position now out of request : end */
This page took 0.030428 seconds and 4 git commands to generate.