X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e068a3ed416ad96c6dd7ed09d7675644c4a3324e..7d8a6180b3769b53adbe4600df95074763141495:/src/instr/instr_paje_trace.c diff --git a/src/instr/instr_paje_trace.c b/src/instr/instr_paje_trace.c index d284dc63e3..4a60ed3c16 100644 --- a/src/instr/instr_paje_trace.c +++ b/src/instr/instr_paje_trace.c @@ -176,6 +176,7 @@ double TRACE_last_timestamp_to_dump = 0; //dumps the trace file until the timestamp TRACE_last_timestamp_to_dump void TRACE_paje_dump_buffer (int force) { + if (!TRACE_is_enabled()) return; XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump); if (force){ paje_event_t event; @@ -188,7 +189,7 @@ void TRACE_paje_dump_buffer (int force) buffer = xbt_dynar_new (sizeof(paje_event_t), NULL); }else{ paje_event_t event; - while (xbt_dynar_length (buffer) > 0){ + while (!xbt_dynar_is_empty(buffer)){ double head_timestamp = (*(paje_event_t*)xbt_dynar_get_ptr(buffer, 0))->timestamp; if (head_timestamp > TRACE_last_timestamp_to_dump){ break; @@ -223,7 +224,7 @@ void TRACE_paje_create_header(void) %%EndEventDef \n\ %%EventDef PajeDefineEventType %d \n\ %% Alias string \n\ -%% EntityType string \n\ +%% ContainerType string \n\ %% Name string \n\ %% Color color \n\ %%EndEventDef \n\ @@ -250,46 +251,46 @@ void TRACE_paje_create_header(void) %%EventDef PajeDestroyContainer %d \n\ %% Time date \n\ %% Type string \n\ -%% Container string \n\ +%% Name string \n\ %%EndEventDef \n\ %%EventDef PajeSetVariable %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ -%% Value string \n\ +%% Value double \n\ %%EndEventDef\n\ %%EventDef PajeAddVariable %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ -%% Value string \n\ +%% Value double \n\ %%EndEventDef\n\ %%EventDef PajeSubVariable %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ -%% Value string \n\ +%% Value double \n\ %%EndEventDef\n\ %%EventDef PajeSetState %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ %% Value string \n\ %%EndEventDef\n\ %%EventDef PajePushState %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ %% Value string \n\ %%EndEventDef\n\ %%EventDef PajePopState %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ %%EndEventDef\n\ %%EventDef PajeStartLink %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ %% Value string \n\ %% SourceContainer string \n\ @@ -297,7 +298,7 @@ void TRACE_paje_create_header(void) %%EndEventDef\n\ %%EventDef PajeEndLink %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ %% Value string \n\ %% DestContainer string \n\ @@ -305,7 +306,7 @@ void TRACE_paje_create_header(void) %%EndEventDef\n\ %%EventDef PajeNewEvent %d \n\ %% Time date \n\ -%% EntityType string \n\ +%% Type string \n\ %% Container string \n\ %% Value string \n\ %%EndEventDef\n", @@ -339,34 +340,17 @@ static void insert_into_buffer (paje_event_t tbi) XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%ld)", __FUNCTION__, tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer)); unsigned int i; - unsigned long len = xbt_dynar_length(buffer); - if (len == 0){ - xbt_dynar_push (buffer, &tbi); - XBT_DEBUG("%s: inserted at beginning", __FUNCTION__); - }else{ - //check if last event has the same timestamp that tbi event - paje_event_t e2 = *(paje_event_t*)xbt_dynar_get_ptr (buffer, len-1); - if (e2->timestamp == tbi->timestamp){ - //insert at the end - XBT_DEBUG("%s: inserted at end, pos = %ld", __FUNCTION__, len); - xbt_dynar_insert_at (buffer, len, &tbi); - return; - } - int inserted = 0; - for (i = len-1; i > 0; i--){ - paje_event_t e1 = *(paje_event_t*)xbt_dynar_get_ptr(buffer, i); - if (e1->timestamp <= tbi->timestamp){ - xbt_dynar_insert_at (buffer, i+1, &tbi); - XBT_DEBUG("%s: inserted at %d", __FUNCTION__, i+1); - inserted = 1; - break; - } - } - if (!inserted){ - xbt_dynar_push (buffer, &tbi); - XBT_DEBUG("%s: inserted at end", __FUNCTION__); - } + for (i = xbt_dynar_length(buffer); i > 0; i--) { + paje_event_t e1 = *(paje_event_t*)xbt_dynar_get_ptr(buffer, i - 1); + if (e1->timestamp <= tbi->timestamp) + break; } + xbt_dynar_insert_at(buffer, i, &tbi); + if (i == 0) + XBT_DEBUG("%s: inserted at beginning", __FUNCTION__); + else + XBT_DEBUG("%s: inserted at%s %d", __FUNCTION__, + (i == xbt_dynar_length(buffer) - 1 ? " end, pos =" : ""), i); } static void print_pajeDefineContainerType(paje_event_t event) @@ -438,14 +422,14 @@ static void print_pajeCreateContainer(paje_event_t event) { XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, event->event_type, event->timestamp); if (event->timestamp == 0){ - fprintf(tracing_file, "%d 0 %s %s %s %s\n", + fprintf(tracing_file, "%d 0 %s %s %s \"%s\"\n", event->event_type, ((createContainer_t)event->data)->container->id, ((createContainer_t)event->data)->container->type->id, ((createContainer_t)event->data)->container->father->id, ((createContainer_t)event->data)->container->name); }else{ - fprintf(tracing_file, "%d %lf %s %s %s %s\n", + fprintf(tracing_file, "%d %lf %s %s %s \"%s\"\n", event->event_type, event->timestamp, ((createContainer_t)event->data)->container->id,