broadcast);
static GArray* finalizeAnalysisEval(SyncState* const syncState);
static void printAnalysisStatsEval(SyncState* const syncState);
-static void writeAnalysisGraphsPlotsEval(FILE* stream, SyncState* const
- syncState, const unsigned int i, const unsigned int j);
-static void writeAnalysisGraphsOptionsEval(FILE* stream, SyncState*
- const syncState, const unsigned int i, const unsigned int j);
+static void writeAnalysisGraphsPlotsEval(SyncState* const syncState, const
+ unsigned int i, const unsigned int j);
+static void writeAnalysisGraphsOptionsEval(SyncState* const syncState, const
+ unsigned int i, const unsigned int j);
// Functions specific to this module
static void registerAnalysisEval() __attribute__((constructor (102)));
&gdnDestroyRttKey, &gdnDestroyDouble);
}
- if (syncState->graphs)
+ if (syncState->graphsStream)
{
binBase= exp10(6. / (binNb - 2));
analysisData->graphs= malloc(sizeof(AnalysisGraphsEval));
char name[36];
AnalysisDataEval* analysisData= syncState->analysisData;
- cwd= changeToGraphDir(syncState->graphs);
+ cwd= changeToGraphDir(syncState->graphsDir);
analysisData->graphs->ttPoints= malloc(syncState->traceNb *
sizeof(FILE**));
free(analysisData->stats);
}
- if (syncState->graphs && analysisData->graphs)
+ if (syncState->graphsStream && analysisData->graphs)
{
destroyGraphs(syncState);
free(analysisData->graphs);
{
messageStats->inversionNb++;
}
- else if (syncState->graphs)
+ else if (syncState->graphsStream)
{
analysisData->graphs->ttBinsArray[message->outE->traceNum][message->inE->traceNum][binNum(tt)]++;
analysisData->graphs->ttBinsTotal[message->outE->traceNum][message->inE->traceNum]++;
*rtt= wallTimeSub(&m1->inE->wallTime, &m1->outE->wallTime) -
wallTimeSub(&m2->outE->wallTime, &m2->inE->wallTime);
- if (syncState->graphs)
+ if (syncState->graphsStream)
{
unsigned int row= MAX(m1->inE->traceNum, m1->outE->traceNum);
unsigned int col= MIN(m1->inE->traceNum, m1->outE->traceNum);
unsigned int i;
AnalysisDataEval* analysisData= syncState->analysisData;
- if (syncState->graphs && analysisData->graphs)
+ if (syncState->graphsStream && analysisData->graphs)
{
writeGraphFiles(syncState);
destroyGraphs(syncState);
* Write the analysis-specific graph lines in the gnuplot script.
*
* Args:
- * stream: stream where to write the data
* syncState: container for synchronization data
* i: first trace number
* j: second trace number, garanteed to be larger than i
*/
-static void writeAnalysisGraphsPlotsEval(FILE* stream, SyncState* const
- syncState, const unsigned int i, const unsigned int j)
+static void writeAnalysisGraphsPlotsEval(SyncState* const syncState, const
+ unsigned int i, const unsigned int j)
{
- fprintf(stream,
+ fprintf(syncState->graphsStream,
"\t\"analysis_eval_hrtt-%2$03d_and_%1$03d.data\" "
"title \"RTT/2\" with boxes linetype 1 linewidth 3 "
"linecolor rgb \"black\" fill transparent solid 0.75, \\\n"
"linecolor rgb \"black\" fill transparent solid 0.25, \\\n"*/
, i, j);
/*
- fprintf(stream,
+ fprintf(syncState->graphsStream,
"\t\"analysis_eval_hrtt-%2$03d_and_%1$03d.data\" "
"title \"RTT/2\" with linespoints linetype 1 linewidth 3 "
"linecolor rgb \"black\", \\\n"
* Write the analysis-specific options in the gnuplot script.
*
* Args:
- * stream: stream where to write the data
* syncState: container for synchronization data
* i: first trace number
* j: second trace number, garanteed to be larger than i
*/
-static void writeAnalysisGraphsOptionsEval(FILE* stream, SyncState*
- const syncState, const unsigned int i, const unsigned int j)
+static void writeAnalysisGraphsOptionsEval(SyncState* const syncState, const
+ unsigned int i, const unsigned int j)
{
- fprintf(stream,
+ fprintf(syncState->graphsStream,
"set xlabel \"Message Latency (s)\"\n"
"set ylabel \"Proportion of messages per second\"\n");
}