-/*
- * general.c
- *
- * Created on: Oct 7, 2009
- * Author: Lucas Schnorr
- * License: This program is free software; you can redistribute
- * it and/or modify it under the terms of the license
- * (GNU LGPL) which comes with this package.
- *
- * Copyright (c) 2009 The SimGrid team.
- */
+/* Copyright (c) 2010. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
#include "instr/private.h"
-#include "instr/config.h"
#ifdef HAVE_TRACING
static int pajeDefineLinkTypeId = 4;
static int pajeCreateContainerId = 5;
static int pajeSetStateId = 6;
-static int pajePushStateWithHostId = 7;
+#define UNUSED007 7
static int pajePopStateId = 8;
static int pajeDestroyContainerId = 9;
-static int pajeSetStateWithHostId = 10;
-static int pajeSetStateWithHostCommCompId = 11;
+#define UNUSED006 10
+#define UNUSED003 11
static int pajeStartLinkId = 12;
static int pajeEndLinkId = 13;
-static int pajeCreateContainerWithPowerId = 14;
-static int pajeStartLinkWithBandwidthLatencyId = 15;
-static int pajePushStateWithPowerUsedId = 16;
-static int pajePushStateWithBandwidthUsedId = 17;
-static int pajeSetStateWithPowerUsedId = 18;
+#define UNUSED000 14
+#define UNUSED004 15
+#define UNUSED008 16
+#define UNUSED009 17
+#define UNUSED005 18
static int pajePushStateId = 19;
-static int pajeCreateContainerWithBandwidthLatencyId = 20;
-static int pajeCreateContainerWithBandwidthLatencySrcDstId = 21;
+#define UNUSED001 20
+static int pajeDefineVariableTypeWithColorId = 21;
static int pajeSetVariableId = 22;
static int pajeAddVariableId = 23;
static int pajeSubVariableId = 24;
static int pajeDefineVariableTypeId = 25;
+static int pajeStartLinkWithVolumeId = 26;
+static int pajeNewEventId = 27;
#define TRACE_LINE_SIZE 1000
-void TRACE_paje_start (FILE *file)
+void TRACE_paje_start(FILE * file)
{
tracing_file = file;
tracing_active = 1;
}
-FILE *TRACE_paje_end (void)
+FILE *TRACE_paje_end(void)
{
tracing_active = 0;
return tracing_file;
}
-void TRACE_paje_create_header(void) {
+void TRACE_paje_create_header(void)
+{
if (!tracing_active)
return;
- fprintf(
- tracing_file,
- " \
+ fprintf(tracing_file, "\
%%EventDef PajeDefineContainerType %d \n\
%% Alias string \n\
%% ContainerType string \n\
%% Container string \n\
%% Value string \n\
%%EndEventDef\n\
-%%EventDef PajeSetState %d \n\
-%% Time date \n\
-%% EntityType string \n\
-%% Container string \n\
-%% Value string \n\
-%% Host string\n\
-%%EndEventDef\n\
-%%EventDef PajePushState %d \n\
-%% Time date \n\
-%% EntityType string \n\
-%% Container string \n\
-%% Value string \n\
-%% Host string \n\
-%%EndEventDef\n\
%%EventDef PajePopState %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%%EndEventDef\n\
-%%EventDef PajeSetState %d \n\
-%% Time date \n\
-%% EntityType string \n\
-%% Container string \n\
-%% Value string \n\
-%% Host string\n\
-%% Comm string\n\
-%% Comp string\n\
-%%EndEventDef\n\
%%EventDef PajeStartLink %d \n\
%% Time date \n\
%% EntityType string \n\
%% DestContainer string \n\
%% Key string \n\
%%EndEventDef\n\
-%%EventDef PajeCreateContainer %d \n\
-%% Time date \n\
-%% Alias string \n\
-%% Type string \n\
-%% Container string \n\
-%% Name string \n\
-%% Power string \n\
-%%EndEventDef \n\
-%%EventDef PajeStartLink %d \n\
-%% Time date \n\
-%% EntityType string \n\
-%% Container string \n\
-%% Value string \n\
-%% SourceContainer string \n\
-%% Key string \n\
-%% Bandwidth string \n\
-%% Latency string \n\
-%%EndEventDef\n\
%%EventDef PajePushState %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%% Value string \n\
-%% PowerUsed string \n\
%%EndEventDef\n\
-%%EventDef PajePushState %d \n\
+%%EventDef PajeSetVariable %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%% Value string \n\
-%% BandwidthUsed string \n\
%%EndEventDef\n\
-%%EventDef PajeSetState %d \n\
+%%EventDef PajeAddVariable %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%% Value string \n\
-%% PowerUsed string \n\
%%EndEventDef\n\
-%%EventDef PajePushState %d \n\
+%%EventDef PajeSubVariable %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%% Value string \n\
%%EndEventDef\n\
-%%EventDef PajeCreateContainer %d \n\
-%% Time date \n\
+%%EventDef PajeDefineVariableType %d \n\
%% Alias string \n\
-%% Type string \n\
-%% Container string \n\
+%% ContainerType string \n\
%% Name string \n\
-%% Bandwidth string \n\
-%% Latency string \n\
%%EndEventDef \n\
-%%EventDef PajeCreateContainer %d \n\
-%% Time date \n\
+%%EventDef PajeDefineVariableType %d \n\
%% Alias string \n\
-%% Type string \n\
-%% Container string \n\
+%% ContainerType string \n\
%% Name string \n\
-%% Bandwidth string \n\
-%% Latency string \n\
-%% SrcHost string \n\
-%% DstHost string \n\
+%% Color color \n\
%%EndEventDef \n\
-%%EventDef PajeSetVariable %d \n\
-%% Time date \n\
-%% EntityType string \n\
-%% Container string \n\
-%% Value string \n\
-%%EndEventDef\n\
-%%EventDef PajeAddVariable %d \n\
+%%EventDef PajeStartLink %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%% Value string \n\
+%% SourceContainer string \n\
+%% Key string \n\
+%% Volume string \n\
%%EndEventDef\n\
-%%EventDef PajeSubVariable %d \n\
+%%EventDef PajeNewEvent %d \n\
%% Time date \n\
%% EntityType string \n\
%% Container string \n\
%% Value string \n\
-%%EndEventDef\n\
-%%EventDef PajeDefineVariableType %d \n\
-%% Alias string \n\
-%% ContainerType string \n\
-%% Name string \n\
-%%EndEventDef \n",
- pajeDefineContainerTypeId, pajeDefineStateTypeId, pajeDefineEntityValueId,
- pajeDefineEventTypeId, pajeDefineLinkTypeId, pajeCreateContainerId,
- pajeDestroyContainerId, pajeSetStateId, pajeSetStateWithHostId,
- pajePushStateWithHostId, pajePopStateId, pajeSetStateWithHostCommCompId,
- pajeStartLinkId, pajeEndLinkId, pajeCreateContainerWithPowerId,
- pajeStartLinkWithBandwidthLatencyId, pajePushStateWithPowerUsedId,
- pajePushStateWithBandwidthUsedId, pajeSetStateWithPowerUsedId,
- pajePushStateId, pajeCreateContainerWithBandwidthLatencyId,
- pajeCreateContainerWithBandwidthLatencySrcDstId,
- pajeSetVariableId,
- pajeAddVariableId,
- pajeSubVariableId,
- pajeDefineVariableTypeId);
+%%EndEventDef\n", pajeDefineContainerTypeId, pajeDefineStateTypeId, pajeDefineEntityValueId, pajeDefineEventTypeId, pajeDefineLinkTypeId, pajeCreateContainerId, pajeDestroyContainerId, pajeSetStateId, pajePopStateId, pajeStartLinkId, pajeEndLinkId, pajePushStateId, pajeSetVariableId, pajeAddVariableId, pajeSubVariableId, pajeDefineVariableTypeId, pajeDefineVariableTypeWithColorId, pajeStartLinkWithVolumeId, pajeNewEventId);
}
/* internal to this file */
-static void __pajeCreateContainer (char *output, int len, int eventid, double time, const char *alias, const char *type,
- const char *container, const char *name)
+static void __pajeCreateContainer(char *output, int len, int eventid,
+ double time, const char *alias,
+ const char *type, const char *container,
+ const char *name)
{
- snprintf (output, len, "%d %.15lf %s %s %s %s", eventid, time,
- alias, type, container, name);
+ snprintf(output, len, "%d %lf %s %s %s %s", eventid, time,
+ alias, type, container, name);
}
-static void __pajeSetState (char *output, int len, int eventid, double time, const char *entityType, const char *container, const char *value)
+static void __pajeSetState(char *output, int len, int eventid, double time,
+ const char *entityType, const char *container,
+ const char *value)
{
- snprintf (output, len, "%d %.15lf %s %s %s", eventid, time, entityType, container, value);
+ snprintf(output, len, "%d %lf %s %s %s", eventid, time, entityType,
+ container, value);
}
-static void __pajeSetVariable (char *output, int len, int eventid, double time, const char *entityType, const char *container, const char *value)
+static void __pajeSetVariable(char *output, int len, int eventid,
+ double time, const char *entityType,
+ const char *container, const char *value)
{
- snprintf (output, len, "%d %.15lf %s %s %s", eventid, time, entityType, container, value);
+ snprintf(output, len, "%d %lf %s %s %s", eventid, time, entityType,
+ container, value);
}
-static void __pajeStartLink (char *output, int len, int eventid, double time, const char *entityType, const char *container, const char *value,
-const char *sourceContainer, const char *key)
+static void __pajeStartLink(char *output, int len, int eventid,
+ double time, const char *entityType,
+ const char *container, const char *value,
+ const char *sourceContainer, const char *key)
{
- snprintf(output, len, "%d %.15lf %s %s %s %s %s", eventid, time, entityType, container, value, sourceContainer, key);
+ snprintf(output, len, "%d %lf %s %s %s %s %s", eventid, time, entityType,
+ container, value, sourceContainer, key);
}
-
/* internal do the instrumentation module */
void pajeDefineContainerType(const char *alias, const char *containerType,
- const char *name) {
+ const char *name)
+{
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineContainerTypeId, alias,
- containerType, name);
+ containerType, name);
}
void pajeDefineStateType(const char *alias, const char *containerType,
- const char *name) {
+ const char *name)
+{
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineStateTypeId, alias,
- containerType, name);
+ containerType, name);
}
void pajeDefineEventType(const char *alias, const char *containerType,
- const char *name) {
+ const char *name)
+{
fprintf(tracing_file, "%d %s %s %s\n", pajeDefineEventTypeId, alias,
- containerType, name);
+ containerType, name);
}
void pajeDefineLinkType(const char *alias, const char *containerType,
- const char *sourceContainerType, const char *destContainerType,
- const char *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) {
- char line[TRACE_LINE_SIZE];
- __pajeCreateContainer (line, TRACE_LINE_SIZE, pajeCreateContainerId, time, alias, type, container, name);
- fprintf (tracing_file, "%s\n", line);
-}
-
-void pajeCreateContainerWithPower (double time, const char *alias, const char *type, const char *container, const char *name, double power)
+ const char *sourceContainerType,
+ const char *destContainerType, const char *name)
{
- char line[TRACE_LINE_SIZE];
- __pajeCreateContainer (line, TRACE_LINE_SIZE, pajeCreateContainerWithPowerId, time, alias, type, container, name);
- fprintf (tracing_file, "%s %f\n", line, power);
-}
-
-void pajeCreateContainerWithBandwidthLatency (double time, const char *alias, const char *type, const char *container, const char *name, double bw, double lat)
-{
- char line[TRACE_LINE_SIZE];
- __pajeCreateContainer (line, TRACE_LINE_SIZE, pajeCreateContainerWithBandwidthLatencyId, time, alias, type, container, name);
- fprintf (tracing_file, "%s %f %f\n", line, bw, lat);
+ fprintf(tracing_file, "%d %s %s %s %s %s\n", pajeDefineLinkTypeId, alias,
+ containerType, sourceContainerType, destContainerType, name);
}
-
-void pajeCreateContainerWithBandwidthLatencySrcDst (double time, const char *alias, const char *type, const char *container, const char *name, double bw, double lat, const char *src, const char *dst)
+void pajeCreateContainer(double time, const char *alias, const char *type,
+ const char *container, const char *name)
{
char line[TRACE_LINE_SIZE];
- __pajeCreateContainer (line, TRACE_LINE_SIZE, pajeCreateContainerWithBandwidthLatencySrcDstId, time, alias, type, container, name);
- fprintf (tracing_file, "%s %f %f %s %s\n", line, bw, lat, src, dst);
+ __pajeCreateContainer(line, TRACE_LINE_SIZE, pajeCreateContainerId, time,
+ alias, type, container, name);
+ fprintf(tracing_file, "%s\n", line);
}
-
-void pajeDestroyContainer (double time, const char *type, const char *container)
+void pajeDestroyContainer(double time, const char *type,
+ const char *container)
{
- fprintf(tracing_file, "%d %.15lf %s %s\n", pajeDestroyContainerId, time, type, container);
+ fprintf(tracing_file, "%d %lf %s %s\n", pajeDestroyContainerId, time,
+ type, container);
}
-void pajeSetState (double time, const char *entityType, const char *container, const char *value)
+void pajeSetState(double time, const char *entityType,
+ const char *container, const char *value)
{
char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajeSetStateId, time, entityType, container, value);
+ __pajeSetState(line, TRACE_LINE_SIZE, pajeSetStateId, time, entityType,
+ container, value);
fprintf(tracing_file, "%s\n", line);
}
-void pajeSetStateWithPowerUsed (double time, const char *entityType, const char *container, const char *value, double powerUsed)
+void pajePushState(double time, const char *entityType,
+ const char *container, const char *value)
{
char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajeSetStateWithPowerUsedId, time, entityType, container, value);
- fprintf(tracing_file, "%s %f\n", line, powerUsed);
+ __pajeSetState(line, TRACE_LINE_SIZE, pajePushStateId, time, entityType,
+ container, value);
+ fprintf(tracing_file, "%s\n", line);
}
-void pajeSetStateWithHost (double time, const char *entityType, const char *container, const char *value, const char *host)
+void pajePopState(double time, const char *entityType,
+ const char *container)
{
- char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajeSetStateWithHostId, time, entityType, container, value);
- fprintf(tracing_file, "%s %s\n", line, host);
+ fprintf(tracing_file, "%d %lf %s %s\n", pajePopStateId, time, entityType,
+ container);
}
-void pajePushState (double time, const char *entityType, const char *container, const char *value)
+void pajeStartLink(double time, const char *entityType,
+ const char *container, const char *value,
+ const char *sourceContainer, const char *key)
{
char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajePushStateId, time, entityType, container, value);
+ __pajeStartLink(line, TRACE_LINE_SIZE, pajeStartLinkId, time, entityType,
+ container, value, sourceContainer, key);
fprintf(tracing_file, "%s\n", line);
}
-void pajePushStateWithHost (double time, const char *entityType, const char *container, const char *value, const char *host)
-{
- char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajePushStateWithHostId, time, entityType, container, value);
- fprintf(tracing_file, "%s %s\n", line, host);
-}
-
-void pajePushStateWithPowerUsed (double time, const char *entityType, const char *container, const char *value, double powerUsed)
+void pajeStartLinkWithVolume(double time, const char *entityType,
+ const char *container, const char *value,
+ const char *sourceContainer, const char *key,
+ double volume)
{
char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajePushStateWithPowerUsedId, time, entityType, container, value);
- fprintf(tracing_file, "%s %f\n", line, powerUsed);
+ __pajeStartLink(line, TRACE_LINE_SIZE, pajeStartLinkWithVolumeId, time,
+ entityType, container, value, sourceContainer, key);
+ fprintf(tracing_file, "%s %f\n", line, volume);
}
-void pajePushStateWithBandwidthUsed (double time, const char *entityType, const char *container, const char *value, double bwUsed)
+void pajeEndLink(double time, const char *entityType,
+ const char *container, const char *value,
+ const char *destContainer, const char *key)
{
- char line[TRACE_LINE_SIZE];
- __pajeSetState (line, TRACE_LINE_SIZE, pajePushStateWithBandwidthUsedId, time, entityType, container, value);
- fprintf(tracing_file, "%s %f\n", line, bwUsed);
+ fprintf(tracing_file, "%d %lf %s %s %s %s %s\n", pajeEndLinkId, time,
+ entityType, container, value, destContainer, key);
}
-void pajePopState (double time, const char *entityType, const char *container)
+void pajeDefineVariableType(const char *alias, const char *containerType,
+ const char *name)
{
- fprintf(tracing_file, "%d %.15lf %s %s\n", pajePopStateId, time, entityType, container);
+ fprintf(tracing_file, "%d %s %s %s\n", pajeDefineVariableTypeId, alias,
+ containerType, name);
}
-void pajeStartLink (double time, const char *entityType, const char *container, const char *value,
- const char *sourceContainer, const char *key)
+void pajeDefineVariableTypeWithColor(const char *alias, const char *containerType,
+ const char *name, const char *color)
{
- char line[TRACE_LINE_SIZE];
- __pajeStartLink (line, TRACE_LINE_SIZE, pajeStartLinkId, time, entityType, container, value, sourceContainer, key);
- fprintf (tracing_file, "%s\n", line);
+ fprintf(tracing_file, "%d %s %s %s \"%s\"\n", pajeDefineVariableTypeWithColorId, alias,
+ containerType, name, color);
}
-void pajeStartLinkWithBandwidthLatency (double time, const char *entityType, const char *container, const char *value,
- const char *sourceContainer, const char *key, double bw, double lat)
+void pajeSetVariable(double time, const char *entityType,
+ const char *container, const char *value)
{
char line[TRACE_LINE_SIZE];
- __pajeStartLink (line, TRACE_LINE_SIZE, pajeStartLinkWithBandwidthLatencyId, time, entityType, container, value, sourceContainer, key);
- fprintf (tracing_file, "%s %f %f\n", line, bw, lat);
-}
-
-void pajeEndLink (double time, const char *entityType, const char *container, const char *value,
- const char *destContainer, const char *key)
-{
- fprintf(tracing_file, "%d %.15lf %s %s %s %s %s\n", pajeEndLinkId, time, entityType, container, value, destContainer, key);
-}
-
-void pajeDefineVariableType(const char *alias, const char *containerType, const char *name) {
- fprintf(tracing_file, "%d %s %s %s\n", pajeDefineVariableTypeId, alias, containerType, name);
+ __pajeSetVariable(line, TRACE_LINE_SIZE, pajeSetVariableId, time,
+ entityType, container, value);
+ fprintf(tracing_file, "%s\n", line);
}
-
-void pajeSetVariable (double time, const char *entityType, const char *container, const char *value)
+void pajeAddVariable(double time, const char *entityType,
+ const char *container, const char *value)
{
char line[TRACE_LINE_SIZE];
- __pajeSetVariable (line, TRACE_LINE_SIZE, pajeSetVariableId, time, entityType, container, value);
+ __pajeSetVariable(line, TRACE_LINE_SIZE, pajeAddVariableId, time,
+ entityType, container, value);
fprintf(tracing_file, "%s\n", line);
}
-void pajeAddVariable (double time, const char *entityType, const char *container, const char *value)
+void pajeSubVariable(double time, const char *entityType,
+ const char *container, const char *value)
{
char line[TRACE_LINE_SIZE];
- __pajeSetVariable (line, TRACE_LINE_SIZE, pajeAddVariableId, time, entityType, container, value);
+ __pajeSetVariable(line, TRACE_LINE_SIZE, pajeSubVariableId, time,
+ entityType, container, value);
fprintf(tracing_file, "%s\n", line);
}
-void pajeSubVariable (double time, const char *entityType, const char *container, const char *value)
+void pajeNewEvent(double time, const char *entityType,
+ const char *container, const char *value)
{
- char line[TRACE_LINE_SIZE];
- __pajeSetVariable (line, TRACE_LINE_SIZE, pajeSubVariableId, time, entityType, container, value);
- fprintf(tracing_file, "%s\n", line);
+ fprintf(tracing_file, "%d %lf %s %s %s\n", pajeNewEventId, time,
+ entityType, container, value);
}
#endif