#ifdef HAVE_TRACING
+#define INSTR_PAJE_ASSERT(str) {xbt_assert1(str!=NULL&&strlen(str)>0, "'%s' is NULL or length is zero", #str);}
+
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_paje, instr, "Paje tracing event system");
static FILE *tracing_file = NULL;
void pajeDefineContainerType(const char *alias, const char *containerType,
const char *name)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(name);
+
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineContainerTypeId, alias,
containerType, name);
}
void pajeDefineStateType(const char *alias, const char *containerType,
const char *name)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(name);
+
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineStateTypeId, alias,
containerType, name);
}
void pajeDefineEventTypeWithColor(const char *alias, const char *containerType,
const char *name, const char *color)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(name);
+ INSTR_PAJE_ASSERT(name);
+
fprintf(tracing_file, "%d %s %s %s %s\n", pajeDefineEventTypeWithColorId, alias,
containerType, name, color);
}
void pajeDefineEventType(const char *alias, const char *containerType,
const char *name)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(name);
+
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineEventTypeId, alias,
containerType, name);
}
const char *sourceContainerType,
const char *destContainerType, const char *name)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(sourceContainerType);
+ INSTR_PAJE_ASSERT(destContainerType);
+ INSTR_PAJE_ASSERT(name);
+
fprintf(tracing_file, "%d %s %s %s %s %s\n", pajeDefineLinkTypeId, alias,
containerType, sourceContainerType, destContainerType, name);
}
void pajeCreateContainer(double time, const char *alias, const char *type,
const char *container, const char *name)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(type);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(name);
+
char line[TRACE_LINE_SIZE];
__pajeCreateContainer(line, TRACE_LINE_SIZE, pajeCreateContainerId, time,
alias, type, container, name);
void pajeDestroyContainer(double time, const char *type,
const char *container)
{
+ INSTR_PAJE_ASSERT(type);
+ INSTR_PAJE_ASSERT(container);
+
if (time == 0){
fprintf(tracing_file, "%d 0 %s %s\n", pajeDestroyContainerId,
type, container);
void pajeSetState(double time, const char *entityType,
const char *container, const char *value)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+
char line[TRACE_LINE_SIZE];
__pajeSetState(line, TRACE_LINE_SIZE, pajeSetStateId, time, entityType,
container, value);
void pajePushState(double time, const char *entityType,
const char *container, const char *value)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+
char line[TRACE_LINE_SIZE];
__pajeSetState(line, TRACE_LINE_SIZE, pajePushStateId, time, entityType,
container, value);
void pajePopState(double time, const char *entityType,
const char *container)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+
fprintf(tracing_file, "%d %lf %s %s\n", pajePopStateId, time, entityType,
container);
}
const char *container, const char *value,
const char *sourceContainer, const char *key)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+ INSTR_PAJE_ASSERT(sourceContainer);
+ INSTR_PAJE_ASSERT(key);
+
char line[TRACE_LINE_SIZE];
__pajeStartLink(line, TRACE_LINE_SIZE, pajeStartLinkId, time, entityType,
container, value, sourceContainer, key);
const char *sourceContainer, const char *key,
double volume)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+ INSTR_PAJE_ASSERT(sourceContainer);
+ INSTR_PAJE_ASSERT(key);
+
char line[TRACE_LINE_SIZE];
__pajeStartLink(line, TRACE_LINE_SIZE, pajeStartLinkWithVolumeId, time,
entityType, container, value, sourceContainer, key);
const char *container, const char *value,
const char *destContainer, const char *key)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+ INSTR_PAJE_ASSERT(destContainer);
+ INSTR_PAJE_ASSERT(key);
+
if (time == 0){
fprintf(tracing_file, "%d 0 %s %s %s %s %s\n", pajeEndLinkId,
entityType, container, value, destContainer, key);
void pajeDefineVariableType(const char *alias, const char *containerType,
const char *name)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(name);
+
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineVariableTypeId, alias,
containerType, name);
}
void pajeDefineVariableTypeWithColor(const char *alias, const char *containerType,
const char *name, const char *color)
{
+ INSTR_PAJE_ASSERT(alias);
+ INSTR_PAJE_ASSERT(containerType);
+ INSTR_PAJE_ASSERT(name);
+ INSTR_PAJE_ASSERT(color);
+
fprintf(tracing_file, "%d %s %s %s \"%s\"\n", pajeDefineVariableTypeWithColorId, alias,
containerType, name, color);
}
void pajeSetVariable(double time, const char *entityType,
const char *container, const char *value)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+
char line[TRACE_LINE_SIZE];
__pajeSetVariable(line, TRACE_LINE_SIZE, pajeSetVariableId, time,
entityType, container, value);
void pajeAddVariable(double time, const char *entityType,
const char *container, const char *value)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+
char line[TRACE_LINE_SIZE];
__pajeSetVariable(line, TRACE_LINE_SIZE, pajeAddVariableId, time,
entityType, container, value);
void pajeSubVariable(double time, const char *entityType,
const char *container, const char *value)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+
char line[TRACE_LINE_SIZE];
__pajeSetVariable(line, TRACE_LINE_SIZE, pajeSubVariableId, time,
entityType, container, value);
void pajeNewEvent(double time, const char *entityType,
const char *container, const char *value)
{
+ INSTR_PAJE_ASSERT(entityType);
+ INSTR_PAJE_ASSERT(container);
+ INSTR_PAJE_ASSERT(value);
+
if (time == 0){
fprintf(tracing_file, "%d 0 %s %s %s\n", pajeNewEventId,
entityType, container, value);