From 3b1b4e559451fc9d75f931433cfc5177768c2ef5 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Tue, 22 Oct 2013 14:35:02 +0200 Subject: [PATCH] replace withsize variant by more generic withextra version, because we will want more data here --- src/instr/instr_paje_trace.c | 37 ++++++++++++++++++++++++------------ src/instr/instr_private.h | 2 +- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/instr/instr_paje_trace.c b/src/instr/instr_paje_trace.c index 734496d148..01680ae3ef 100644 --- a/src/instr/instr_paje_trace.c +++ b/src/instr/instr_paje_trace.c @@ -96,6 +96,7 @@ typedef struct s_pushState { type_t type; val_t value; int size; + xbt_dynar_t extra; }s_pushState_t; typedef struct s_popState *popState_t; @@ -463,22 +464,35 @@ static void print_pajePushState(paje_event_t event) } }else{ if (event->timestamp == 0){ - fprintf(tracing_file, "%d 0 %s %s %s %d\n", + fprintf(tracing_file, "%d 0 %s %s %s ", (int)event->event_type, ((pushState_t)event->data)->type->id, ((pushState_t)event->data)->container->id, - ((pushState_t)event->data)->value->id, - ((pushState_t)event->data)->size); + ((pushState_t)event->data)->value->id); + + char *value = NULL; + unsigned int iter = 0; + xbt_dynar_foreach( ((pushState_t)event->data)->extra, iter, value) { + fprintf(tracing_file, "%s ", value); + } + fprintf(tracing_file, "\n"); + }else{ - fprintf(tracing_file, "%d %f %s %s %s %d\n", + fprintf(tracing_file, "%d %f %s %s %s ", (int)event->event_type, event->timestamp, ((pushState_t)event->data)->type->id, ((pushState_t)event->data)->container->id, - ((pushState_t)event->data)->value->id, - ((pushState_t)event->data)->size); - } + ((pushState_t)event->data)->value->id); + char *value = NULL; + unsigned int iter = 0; + xbt_dynar_foreach( ((pushState_t)event->data)->extra, iter, value) { + fprintf(tracing_file, "%s ", value); + } + fprintf(tracing_file, "\n"); + } + xbt_dynar_free(&((pushState_t)event->data)->extra); } } @@ -831,7 +845,7 @@ void new_pajeSetState (double timestamp, container_t container, type_t type, val } -void new_pajePushState (double timestamp, container_t container, type_t type, val_t value) +void new_pajePushStateWithExtra (double timestamp, container_t container, type_t type, val_t value, xbt_dynar_t extra) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_PushState; @@ -842,14 +856,15 @@ void new_pajePushState (double timestamp, container_t container, type_t type, va ((pushState_t)(event->data))->type = type; ((pushState_t)(event->data))->container = container; ((pushState_t)(event->data))->value = value; - ((pushState_t)(event->data))->size = -1; + ((pushState_t)(event->data))->extra = extra; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); } -void new_pajePushStateWithSize (double timestamp, container_t container, type_t type, val_t value, int size) + +void new_pajePushState (double timestamp, container_t container, type_t type, val_t value) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_PushState; @@ -860,8 +875,6 @@ void new_pajePushStateWithSize (double timestamp, container_t container, type_t ((pushState_t)(event->data))->type = type; ((pushState_t)(event->data))->container = container; ((pushState_t)(event->data))->value = value; - ((pushState_t)(event->data))->size = size; - XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); diff --git a/src/instr/instr_private.h b/src/instr/instr_private.h index 21baa8f795..d557de2f40 100644 --- a/src/instr/instr_private.h +++ b/src/instr/instr_private.h @@ -122,7 +122,7 @@ XBT_PUBLIC(void) new_pajeAddVariable (double timestamp, container_t container, t XBT_PUBLIC(void) new_pajeSubVariable (double timestamp, container_t container, type_t type, double value); XBT_PUBLIC(void) new_pajeSetState (double timestamp, container_t container, type_t type, val_t value); XBT_PUBLIC(void) new_pajePushState (double timestamp, container_t container, type_t type, val_t value); -XBT_PUBLIC(void) new_pajePushStateWithSize (double timestamp, container_t container, type_t type, val_t value, int size); +XBT_PUBLIC(void) new_pajePushStateWithExtra (double timestamp, container_t container, type_t type, val_t value, xbt_dynar_t extra); XBT_PUBLIC(void) new_pajePopState (double timestamp, container_t container, type_t type); XBT_PUBLIC(void) new_pajeResetState (double timestamp, container_t container, type_t type); XBT_PUBLIC(void) new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key); -- 2.20.1