itrace
Instrumented Trace
itrace_multipass.h
Go to the documentation of this file.
1 
11 #ifndef ITRACE_MULTIPASS_H
12 #define ITRACE_MULTIPASS_H
13 
102 #define ITRACE_MULTI_PASS_START_LOOP(logger_handle, profiler_handle) \
103  char itracemp_root_filename[ITRACE_MAX_LENGTH_FILENAME+1]; \
104  itrace_get_root_filename(logger_handle, itracemp_root_filename); \
105  int itracemp_file_index=0; \
106  while(1) { /* event loop */ \
107  int num_events_left_to_register=0; \
108  itrace_get_num_events_left_to_register(profiler_handle, &num_events_left_to_register); \
109  if (num_events_left_to_register==0) { \
110  break; \
111  } \
112  char itracemp_root_filename_loop[ITRACE_MAX_LENGTH_FILENAME+1]; \
113  snprintf(itracemp_root_filename_loop,ITRACE_MAX_LENGTH_FILENAME+1,"%s_%d",itracemp_root_filename,itracemp_file_index++); \
114  itrace_set_root_filename(logger_handle, itracemp_root_filename_loop); \
115  printf("Processing new set into root filename %s. %d events and set separators left to process.\n", itracemp_root_filename_loop, num_events_left_to_register);
116 
122 #define ITRACE_MULTI_PASS_END_LOOP(logger_handle, profiler_handle) \
123  itrace_flush_logs(logger_handle); \
124  } \
125 itrace_set_root_filename(logger_handle, itracemp_root_filename); \
126 itrace_merge_csv_files(itracemp_root_filename,itracemp_file_index);
127 
133 #endif