X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fevent_analysis_linreg.c;h=a79559e646ab034c486bfa094bfe7df718e71c90;hb=467066eeab8b0a4e5ea07d24f1840310730fd470;hp=cae9093681e90069e500dd071e39b0e2019409bb;hpb=2bd4b3e43e525da7b4c9738915ec847f7fe4906a;p=lttv.git diff --git a/lttv/lttv/sync/event_analysis_linreg.c b/lttv/lttv/sync/event_analysis_linreg.c index cae90936..a79559e6 100644 --- a/lttv/lttv/sync/event_analysis_linreg.c +++ b/lttv/lttv/sync/event_analysis_linreg.c @@ -44,8 +44,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 +71,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= { + .writeTraceTracePlots= &writeAnalysisGraphsPlotsLinReg, + } }; @@ -193,14 +192,14 @@ static void analyzeExchangeLinReg(SyncState* const syncState, Exchange* const ex // Calculate the intermediate values for the // least-squares analysis - dji= ((double) ackedMessage->inE->time - (double) ackedMessage->outE->time - + (double) exchange->message->outE->time - (double) - exchange->message->inE->time) / 2; - eji= fabs((double) ackedMessage->inE->time - (double) - ackedMessage->outE->time - (double) exchange->message->outE->time + - (double) exchange->message->inE->time) / 2; - timoy= ((double) ackedMessage->outE->time + (double) - exchange->message->inE->time) / 2; + dji= ((double) ackedMessage->inE->cpuTime - (double) ackedMessage->outE->cpuTime + + (double) exchange->message->outE->cpuTime - (double) + exchange->message->inE->cpuTime) / 2; + eji= fabs((double) ackedMessage->inE->cpuTime - (double) + ackedMessage->outE->cpuTime - (double) exchange->message->outE->cpuTime + + (double) exchange->message->inE->cpuTime) / 2; + timoy= ((double) ackedMessage->outE->cpuTime + (double) + exchange->message->inE->cpuTime) / 2; ni= ackedMessage->outE->traceNum; nj= ackedMessage->inE->traceNum; fit= &analysisData->fitArray[nj][ni]; @@ -745,13 +744,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 +757,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",