fcde82f8a66345b03c93421dd4b085d82a409e57
1 /* This file is part of the Linux Trace Toolkit viewer
2 * Copyright (C) 2009, 2010 Benjamin Poirier <benjamin.poirier@polymtl.ca>
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 2.1 of the License, or (at
7 * your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12 * License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef EVENT_ANALYSIS_EVAL_H
19 #define EVENT_ANALYSIS_EVAL_H
30 #include "data_structures.h"
35 uint32_t saddr
, daddr
;
40 unsigned int inversionNb
,
48 double broadcastDiffSum
;
49 unsigned int broadcastNb
;
51 // MessageStats messageStats[traceNb][traceNb]
52 MessageStats
** messageStats
;
54 /* double* exchangeRtt[RttKey]
55 * For this table, saddr and daddr are swapped as necessary such that
57 GHashTable
* exchangeRtt
;
60 /* FactorsCHull** chFactorsArray[traceNum][traceNum]
61 * FactorsCHull** lpFactorsArray[traceNum][traceNum]
63 * As usual, only the lower triangular part of theses matrixes is
65 FactorsCHull
** chFactorsArray
;
66 FactorsCHull
** lpFactorsArray
;
73 // index of min and max bins that are != 0
77 /* bin[0]: underflow ]-INFINITY..0[
79 * rest defined exponentially, see binStart()
80 * bin[BIN_NB - 1]: overflow [1..INFINITY[ */
86 /* File pointers to files where "trip times" (message latency) histogram
87 * values are output. Each host-pair has two files, one for each message
88 * direction. As for traces, the host with the smallest address is
89 * considered to be the reference for the direction of messages (ie.
90 * messages from the host with the lowest address to the host with the
91 * largest address are "sent"). */
95 struct Bins ttSendBins
;
96 struct Bins ttRecvBins
;
98 /* File pointers to files where half round trip times (evaluated from
99 * exchanges) histogram values are output. */
102 struct Bins hrttBins
;
103 } AnalysisHistogramEval
;
107 // These are the cpu times of the first and last interactions (message or
108 // broadcast) between two traces. The times are from the trace with the
115 /* AnalysisHistogramEval* graphs[RttKey];
116 * For this table, saddr and daddr are swapped as necessary such that
118 GHashTable
* histograms
;
120 /* Bounds bounds[traceNum][traceNum]
122 * Only the lower triangular part of the matrix is allocated, that is
123 * bounds[i][j] where i > j */
127 /* glp_prob* lps[traceNum][traceNum]
129 * Only the lower triangular part of the matrix is allocated, that is
130 * lps[i][j] where i > j */
133 /* Factors lpFactors[traceNum][traceNum]
135 * Only the lower triangular part of the matrix is allocated, that is
136 * lpFactorsArray[i][j] where i > j */
137 FactorsCHull
** lpFactorsArray
;
139 } AnalysisGraphsEval
;
143 // double* rttInfo[RttKey]
146 /* The convex hull analysis is encapsulated and messages are passed to it
147 * so that it builds the convex hulls. These are reused in the linear
149 struct _SyncState
* chullSS
;
151 AnalysisStatsEval
* stats
;
152 AnalysisGraphsEval
* graphs
;
155 void registerAnalysisEval();
This page took 0.033211 seconds and 4 git commands to generate.