X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/588d84fc8adffb87bdde21f3b6d8c410b54d53cc..778b06d156f6e300a447df10b297a62cc3c73b4d:/src/instr/instr_paje_trace.c diff --git a/src/instr/instr_paje_trace.c b/src/instr/instr_paje_trace.c index 916e18a8c2..0e0af37434 100644 --- a/src/instr/instr_paje_trace.c +++ b/src/instr/instr_paje_trace.c @@ -25,6 +25,7 @@ typedef enum { PAJE_SetState, PAJE_PushState, PAJE_PopState, + PAJE_ResetState, PAJE_StartLink, PAJE_EndLink, PAJE_NewEvent @@ -122,6 +123,12 @@ typedef struct s_popState { type_t type; }s_popState_t; +typedef struct s_resetState *resetState_t; +typedef struct s_resetState { + container_t container; + type_t type; +}s_resetState_t; + typedef struct s_startLink *startLink_t; typedef struct s_startLink { container_t container; @@ -229,7 +236,6 @@ void TRACE_paje_create_header(void) %% Alias string \n\ %% Type string \n\ %% Name string \n\ -%% Color color \n\ %%EndEventDef \n\ %%EventDef PajeDefineLinkType %d \n\ %% Alias string \n\ @@ -291,6 +297,11 @@ void TRACE_paje_create_header(void) %% Type string \n\ %% Container string \n\ %%EndEventDef\n\ +%%EventDef PajeResetState %d \n\ +%% Time date \n\ +%% Type string \n\ +%% Container string \n\ +%%EndEventDef\n\ %%EventDef PajeStartLink %d \n\ %% Time date \n\ %% Type string \n\ @@ -327,6 +338,7 @@ void TRACE_paje_create_header(void) PAJE_SetState, PAJE_PushState, PAJE_PopState, + PAJE_ResetState, PAJE_StartLink, PAJE_EndLink, PAJE_NewEvent); @@ -341,7 +353,7 @@ static void insert_into_buffer (paje_event_t tbi) return; } XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%lu)", - __FUNCTION__, (int)tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer)); + __FUNCTION__, (int)tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer)); unsigned int i; for (i = xbt_dynar_length(buffer); i > 0; i--) { @@ -391,12 +403,11 @@ static void print_pajeDefineStateType(paje_event_t event) static void print_pajeDefineEventType(paje_event_t event) { XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type); - fprintf(tracing_file, "%d %s %s %s \"%s\"\n", + fprintf(tracing_file, "%d %s %s %s\n", (int)event->event_type, ((defineEventType_t)event->data)->type->id, ((defineEventType_t)event->data)->type->father->id, - ((defineEventType_t)event->data)->type->name, - ((defineEventType_t)event->data)->type->color); + ((defineEventType_t)event->data)->type->name); } static void print_pajeDefineLinkType(paje_event_t event) @@ -572,6 +583,23 @@ static void print_pajePopState(paje_event_t event) } } +static void print_pajeResetState(paje_event_t event) +{ + XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); + if (event->timestamp == 0){ + fprintf(tracing_file, "%d 0 %s %s\n", + (int)event->event_type, + ((resetState_t)event->data)->type->id, + ((resetState_t)event->data)->container->id); + }else{ + fprintf(tracing_file, "%d %lf %s %s\n", + (int)event->event_type, + event->timestamp, + ((resetState_t)event->data)->type->id, + ((resetState_t)event->data)->container->id); + } +} + static void print_pajeStartLink(paje_event_t event) { XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); @@ -898,6 +926,23 @@ void new_pajePopState (double timestamp, container_t container, type_t type) insert_into_buffer (event); } + +void new_pajeResetState (double timestamp, container_t container, type_t type) +{ + paje_event_t event = xbt_new0(s_paje_event_t, 1); + event->event_type = PAJE_ResetState; + event->timestamp = timestamp; + event->print = print_pajeResetState; + event->free = free_paje_event; + event->data = xbt_new0(s_resetState_t, 1); + ((resetState_t)(event->data))->type = type; + ((resetState_t)(event->data))->container = container; + + XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); + + insert_into_buffer (event); +} + void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key) { paje_event_t event = xbt_new0(s_paje_event_t, 1);