xbt_dict_t tracing_files = NULL;
extern s_instr_trace_writer_t active_writer;
-extern xbt_dynar_t buffer;
void TRACE_TI_init(void)
{
/* output comment file */
dump_comment_file(TRACE_get_comment_file());
- buffer = xbt_dynar_new(sizeof(paje_event_t), NULL);
}
void TRACE_TI_end(void)
if(tracing_files)xbt_dict_free(&tracing_files);
fclose(tracing_file);
char *filename = TRACE_get_filename();
- xbt_dynar_free(&buffer);
XBT_DEBUG("Filename %s is closed", filename);
}
XBT_DEBUG("Tracing starts");
/* init the tracing module to generate the right output */
- /* open the trace file */
+ /* open internal buffer */
+ TRACE_init();
/* open the trace file(s) */
const char* format = sg_cfg_get_string(OPT_TRACING_FORMAT);
}else{
xbt_die("Unknown trace format :%s ", format);
}
+ /* close internal buffer */
+ TRACE_finalize();
/* de-activate trace */
trace_active = 0;
XBT_DEBUG("Tracing is off");
extern FILE * tracing_file;
extern s_instr_trace_writer_t active_writer;
-extern xbt_dynar_t buffer;
void TRACE_paje_init(void)
/* output header */
TRACE_header(TRACE_basic(),TRACE_display_sizes());
- buffer = xbt_dynar_new (sizeof(paje_event_t), NULL);
}
void TRACE_paje_end(void)
{
fclose(tracing_file);
char *filename = TRACE_get_filename();
- xbt_dynar_free (&buffer);
XBT_DEBUG("Filename %s is closed", filename);
}
void TRACE_header(int basic, int size);
/* from paje.c */
+void TRACE_init(void);
+void TRACE_finalize(void);
void TRACE_paje_init(void);
void TRACE_paje_start(void);
void TRACE_paje_end(void);
fclose(file);
}
+void TRACE_init(){
+ buffer = xbt_dynar_new(sizeof(paje_event_t), NULL);
+}
-
+void TRACE_finalize(){
+ if (buffer) xbt_dynar_free(&buffer);
+}
double TRACE_last_timestamp_to_dump = 0;
//dumps the trace file until the timestamp TRACE_last_timestamp_to_dump
tbi->free (tbi);
return;
}
+
XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%lu)",
__FUNCTION__, (int)tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer));