120bdc67c46a9c12162b9601806fda4ac2c00eb9
[lttv.git] / lttv / lttv / sync / event_analysis_eval.h
1 /* This file is part of the Linux Trace Toolkit viewer
2 * Copyright (C) 2009 Benjamin Poirier <benjamin.poirier@polymtl.ca>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License Version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
16 * MA 02111-1307, USA.
17 */
18
19 #ifndef EVENT_ANALYSIS_EVAL_H
20 #define EVENT_ANALYSIS_EVAL_H
21
22 #include <glib.h>
23
24 #include "data_structures.h"
25
26
27 struct RttKey
28 {
29 uint32_t saddr, daddr;
30 };
31
32 typedef struct
33 {
34 unsigned int inversionNb,
35 tooFastNb,
36 noRTTInfoNb,
37 total;
38 } MessageStats;
39
40 typedef struct
41 {
42 double broadcastDiffSum;
43 unsigned int broadcastNb;
44
45 MessageStats** messageStats;
46 /* double* exchangeRtt[RttKey]
47 * For this table, saddr and daddr are swapped as necessary such that
48 * saddr < daddr */
49 GHashTable* exchangeRtt;
50 } AnalysisStatsEval;
51
52 typedef struct
53 {
54 /* FILE* ttPoints[row][col] where
55 * row= outE->traceNum
56 * col= inE->traceNum
57 *
58 * This array contains file pointers to files where "trip times" (message
59 * latency) histogram values are outputted. Each trace-pair has two files,
60 * one for each message direction. The elements on the diagonal are not
61 * initialized.
62 */
63 FILE*** ttPoints;
64
65 // uint32_t ttBinsArray[row][col][binNum];
66 // Row and col have the same structure as ttPoints
67 uint32_t*** ttBinsArray;
68 // uint32_t ttBinsTotal[row][col];
69 // Row and col have the same structure as ttPoints
70 uint32_t** ttBinsTotal;
71
72 /* FILE* hrttPoints[traceNum][traceNum] where
73 * row > col, other elements are not initialized
74 *
75 * This array contains file pointers to files where half round trip times
76 * (evaluated from exchanges) histogram values are outputted.
77 */
78 FILE*** hrttPoints;
79
80 // uint32_t hrttBinsArray[row][col][binNum];
81 // Row and col have the same structure as hrttPoints
82 uint32_t*** hrttBinsArray;
83 // uint32_t hrttBinsTotal[row][col];
84 // Row and col have the same structure as hrttPoints
85 uint32_t** hrttBinsTotal;
86 } AnalysisGraphsEval;
87
88 typedef struct
89 {
90 // double* rttInfo[RttKey]
91 GHashTable* rttInfo;
92
93 AnalysisStatsEval* stats;
94 AnalysisGraphsEval* graphs;
95 } AnalysisDataEval;
96
97 #endif
This page took 0.033714 seconds and 3 git commands to generate.