X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fevent_analysis_linreg.c;h=07537780bcb8ae4ced81d91622c5bbad2920be3b;hb=d5b038ec901e9753a8569f33516a49361c54254c;hp=cdff7f370cc001ca8323b979715e626d0a6d1cb2;hpb=76be6fc24daf61767bf7f0c2e64f4691fbb56c63;p=lttv.git diff --git a/lttv/lttv/sync/event_analysis_linreg.c b/lttv/lttv/sync/event_analysis_linreg.c index cdff7f37..07537780 100644 --- a/lttv/lttv/sync/event_analysis_linreg.c +++ b/lttv/lttv/sync/event_analysis_linreg.c @@ -32,11 +32,6 @@ #include "event_analysis_linreg.h" -#ifndef g_info -#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format) -#endif - - // Functions common to all analysis modules static void initAnalysisLinReg(SyncState* const syncState); static void destroyAnalysisLinReg(SyncState* const syncState); @@ -44,8 +39,8 @@ static void destroyAnalysisLinReg(SyncState* const syncState); static void analyzeExchangeLinReg(SyncState* const syncState, Exchange* const exchange); static GArray* finalizeAnalysisLinReg(SyncState* const syncState); static void printAnalysisStatsLinReg(SyncState* const syncState); -static void writeAnalysisGraphsPlotsLinReg(FILE* stream, SyncState* const - syncState, const unsigned int i, const unsigned int j); +static void writeAnalysisGraphsPlotsLinReg(SyncState* const syncState, const + unsigned int i, const unsigned int j); // Functions specific to this module static void registerAnalysisLinReg() __attribute__((constructor (102))); @@ -71,13 +66,12 @@ static AnalysisModule analysisModuleLinReg= { .name= "linreg", .initAnalysis= &initAnalysisLinReg, .destroyAnalysis= &destroyAnalysisLinReg, - .analyzeMessage= NULL, .analyzeExchange= &analyzeExchangeLinReg, - .analyzeBroadcast= NULL, .finalizeAnalysis= &finalizeAnalysisLinReg, .printAnalysisStats= &printAnalysisStatsLinReg, - .writeAnalysisGraphsPlots= &writeAnalysisGraphsPlotsLinReg, - .writeAnalysisGraphsOptions= NULL, + .graphFunctions= { + .writeTraceTraceForePlots= &writeAnalysisGraphsPlotsLinReg, + } }; @@ -184,8 +178,8 @@ static void analyzeExchangeLinReg(SyncState* const syncState, Exchange* const ex Message* ackedMessage; AnalysisDataLinReg* analysisData; - g_debug("Synchronization calculation, "); - g_debug("%d acked packets - using last one, ", + g_debug("Synchronization calculation, " + "%d acked packets - using last one,", g_queue_get_length(exchange->acks)); analysisData= (AnalysisDataLinReg*) syncState->analysisData; @@ -363,11 +357,11 @@ static void finalizeLSA(SyncState* const syncState) pow(fit->sd, 2) * fit->st2 - 2 * fit->st * fit->sd * fit->std) / delta) / (fit->n - 2)); - g_debug("[i= %u j= %u]\n", i, j); - g_debug("n= %d st= %g st2= %g sd= %g sd2= %g std= %g\n", + g_debug("[i= %u j= %u]", i, j); + g_debug("n= %d st= %g st2= %g sd= %g sd2= %g std= %g", fit->n, fit->st, fit->st2, fit->sd, fit->sd2, fit->std); - g_debug("xij= %g d0ij= %g e= %g\n", fit->x, fit->d0, fit->e); - g_debug("(xji= %g d0ji= %g)\n", -fit->x / (1 + fit->x), + g_debug("xij= %g d0ij= %g e= %g", fit->x, fit->d0, fit->e); + g_debug("(xji= %g d0ji= %g)", -fit->x / (1 + fit->x), -fit->d0 / (1 + fit->x)); } } @@ -404,7 +398,7 @@ static void doGraphProcessing(SyncState* const syncState) GList* result; // Perform shortest path search - g_debug("shortest path trace %d\ndistances: ", i); + g_debug("shortest path trace %d, distances: ", i); shortestPath(analysisData->fitArray, i, syncState->traceNb, distances, previousVertex); @@ -412,12 +406,11 @@ static void doGraphProcessing(SyncState* const syncState) { g_debug("%g, ", distances[j]); } - g_debug("\npreviousVertex: "); + g_debug("previousVertex: "); for (j= 0; j < syncState->traceNb; j++) { g_debug("%u, ", previousVertex[j]); } - g_debug("\n"); // Group in graphs nodes that have exchanges errorSum= sumDistances(distances, syncState->traceNb); @@ -427,11 +420,11 @@ static void doGraphProcessing(SyncState* const syncState) { Graph* graph; - g_debug("found graph\n"); + g_debug("found graph"); graph= (Graph*) result->data; if (errorSum < graph->errorSum) { - g_debug("adding to graph\n"); + g_debug("adding to graph"); graph->errorSum= errorSum; free(graph->previousVertex); graph->previousVertex= previousVertex; @@ -444,7 +437,7 @@ static void doGraphProcessing(SyncState* const syncState) { Graph* newGraph; - g_debug("creating new graph\n"); + g_debug("creating new graph"); newGraph= malloc(sizeof(Graph)); newGraph->errorSum= errorSum; newGraph->previousVertex= previousVertex; @@ -548,7 +541,7 @@ static void shortestPath(Fit* const* const fitArray, const unsigned int visited[i]= false; fit= &fitArray[traceNum][i]; - g_debug("fitArray[traceNum= %u][i= %u]->n = %u\n", traceNum, i, fit->n); + g_debug("fitArray[traceNum= %u][i= %u]->n = %u", traceNum, i, fit->n); if (fit->n > 0) { distances[i]= fit->e; @@ -566,7 +559,6 @@ static void shortestPath(Fit* const* const fitArray, const unsigned int { g_debug("(%d, %u, %g), ", visited[j], previousVertex[j], distances[j]); } - g_debug("\n"); for (i= 0; i < traceNb - 2; i++) { @@ -583,7 +575,7 @@ static void shortestPath(Fit* const* const fitArray, const unsigned int } } - g_debug("v= %u dvMin= %g\n", v, dvMin); + g_debug("v= %u dvMin= %g", v, dvMin); if (dvMin != INFINITY) { @@ -611,7 +603,6 @@ static void shortestPath(Fit* const* const fitArray, const unsigned int { g_debug("(%d, %u, %g), ", visited[j], previousVertex[j], distances[j]); } - g_debug("\n"); } free(visited); @@ -745,13 +736,12 @@ static gint gcfGraphTraceCompare(gconstpointer a, gconstpointer b) * 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, on the x axis * j: second trace number, garanteed to be larger than i */ -void writeAnalysisGraphsPlotsLinReg(FILE* stream, SyncState* const syncState, - const unsigned int i, const unsigned int j) +void writeAnalysisGraphsPlotsLinReg(SyncState* const syncState, const unsigned + int i, const unsigned int j) { AnalysisDataLinReg* analysisData; Fit* fit; @@ -759,7 +749,7 @@ void writeAnalysisGraphsPlotsLinReg(FILE* stream, SyncState* const syncState, analysisData= (AnalysisDataLinReg*) syncState->analysisData; fit= &analysisData->fitArray[j][i]; - fprintf(stream, + fprintf(syncState->graphsStream, "\t%7g + %7g * x " "title \"Linreg conversion\" with lines " "linecolor rgb \"gray60\" linetype 1, \\\n",