/* This file is part of the Linux Trace Toolkit viewer
- * Copyright (C) 2009 Benjamin Poirier <benjamin.poirier@polymtl.ca>
+ * Copyright (C) 2009, 2010 Benjamin Poirier <benjamin.poirier@polymtl.ca>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License Version 2 as
- * published by the Free Software Foundation;
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 2.1 of the License, or (at
+ * your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define _GNU_SOURCE
// Functions common to all processing modules
static void initProcessingText(SyncState* const syncState, ...);
static void destroyProcessingText(SyncState* const syncState);
-static void finalizeProcessingText(SyncState* const syncState);
-static void printProcessingStatsText(SyncState* const syncState);
+static AllFactors* finalizeProcessingText(SyncState* const syncState);
static void writeProcessingTraceTimeOptionsText(SyncState* const syncState,
const unsigned int i, const unsigned int j);
static void writeProcessingTraceTraceOptionsText(SyncState* const syncState,
const unsigned int i);
// Functions specific to this module
-static void registerProcessingText() __attribute__((constructor (102)));
-
static unsigned int readTraceNb(FILE* testCase);
static void skipCommentLines(FILE* testCase);
.initProcessing= &initProcessingText,
.destroyProcessing= &destroyProcessingText,
.finalizeProcessing= &finalizeProcessingText,
- .printProcessingStats= &printProcessingStatsText,
.graphFunctions= {
.writeVariables= &writeProcessingGraphVariablesText,
.writeTraceTraceOptions= &writeProcessingTraceTraceOptionsText,
/*
* Processing Module registering function
*/
-static void registerProcessingText()
+void registerProcessingText()
{
g_queue_push_tail(&processingModules, &processingModuleText);
}
if (syncState->stats && processingData->factors)
{
- g_array_free(processingData->factors, TRUE);
+ freeAllFactors(processingData->factors);
}
free(syncState->processingData);
*
* Args:
* syncState: container for synchronization data.
+ *
+ * Returns:
+ * AllFactors synchronization factors for each trace pair
*/
-static void finalizeProcessingText(SyncState* const syncState)
+static AllFactors* finalizeProcessingText(SyncState* const syncState)
{
int retval;
unsigned int* seq;
- GArray* factors;
+ AllFactors* factors;
ProcessingDataText* processingData= (ProcessingDataText*)
syncState->processingData;
FILE* testCase= processingData->testCase;
{
processingData->factors= factors;
}
- else
- {
- g_array_free(factors, TRUE);
- }
-}
-
-
-/*
- * Print statistics related to processing. Must be called after
- * finalizeProcessing.
- *
- * Args:
- * syncState container for synchronization data.
- */
-static void printProcessingStatsText(SyncState* const syncState)
-{
- unsigned int i;
-
- printf("Resulting synchronization factors:\n");
- for (i= 0; i < syncState->traceNb; i++)
- {
- Factors* factors= &g_array_index(((ProcessingDataText*)
- syncState->processingData)->factors, Factors, i);
- printf("\ttrace %u drift= %g offset= %g (%f)\n", i, factors->drift,
- factors->offset, factors->offset / CPU_FREQ);
- }
+ return factors;
}