type_t type;
val_t value;
int size;
+ xbt_dynar_t extra;
}s_pushState_t;
typedef struct s_popState *popState_t;
}
}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);
}
}
}
-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;
((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;
((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);
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);