OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

vt_filthandler.h
1 /**
2 * VampirTrace
3 * http://www.tu-dresden.de/zih/vampirtrace
4 *
5 * Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
6 *
7 * Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
8 * Centre, Federal Republic of Germany
9 *
10 * See the file COPYING in the package base directory for details
11 **/
12
13 #ifndef _VT_FILTHANDLER_H_
14 #define _VT_FILTHANDLER_H_
15
16 #include <iostream>
17 #include <map>
18 #include <stack>
19 #include <string>
20 #include <vector>
21
22 #include "otf.h"
23
24 #include "vt_inttypes.h"
25
26 struct Process {
27 std::stack<bool> fstack; /* function 2 limit - limit decreases for every function call in the eventloop */
28 std::map<uint32_t,uint64_t> f2l; /* contains the functionstack of every process - written = true, ignored = false */
29 };
30 struct FiltHandlerArgument {
31
32 FiltHandlerArgument() : wstream(0), mc(0) {}
33
34 FiltHandlerArgument(const FiltHandlerArgument& fha);
35
36 std::map<std::string, uint32_t> nm2tok; /* created during definition reading*/
37 std::map<uint32_t, Process > t2p;
38 OTF_WStream* wstream;
39 OTF_MasterControl* mc;
40 };
41
42
43 int handleFiltDefinitionComment( void* userData,
44 uint32_t stream,
45 const char* comment );
46
47 int handleFiltDefTimerResolution( void* userData,
48 uint32_t stream,
49 uint64_t ticksPerSecond );
50
51 int handleFiltDefProcess( void* userData,
52 uint32_t stream,
53 uint32_t process,
54 const char* name,
55 uint32_t parent );
56
57 int handleFiltDefProcessGroup( void* userData,
58 uint32_t stream,
59 uint32_t procGroup,
60 const char* name,
61 uint32_t numberOfProcs,
62 const uint32_t* procs );
63
64 int handleFiltDefFunction( void* userData,
65 uint32_t stream,
66 uint32_t func,
67 const char* name,
68 uint32_t funcGroup,
69 uint32_t source );
70
71 int handleFiltDefFunctionGroup( void* userData,
72 uint32_t stream,
73 uint32_t funcGroup,
74 const char* name );
75
76 int handleFiltDefCollectiveOperation( void* userData,
77 uint32_t stream,
78 uint32_t collOp,
79 const char* name,
80 uint32_t type );
81
82 int handleFiltDefCounter( void* userData,
83 uint32_t stream,
84 uint32_t counter,
85 const char* name,
86 uint32_t properties,
87 uint32_t counterGroup,
88 const char* unit );
89
90 int handleFiltDefCounterGroup( void* userData,
91 uint32_t stream,
92 uint32_t counterGroup,
93 const char* name );
94
95 int handleFiltDefScl( void* userData,
96 uint32_t stream,
97 uint32_t source,
98 uint32_t sourceFile,
99 uint32_t line );
100
101 int handleFiltDefSclFile( void* userData,
102 uint32_t stream,
103 uint32_t sourceFile,
104 const char* name );
105
106 int handleFiltDefCreator( void* userData,
107 uint32_t stream,
108 const char* creator );
109
110 int handleFiltDefVersion( void* userData,
111 uint32_t stream,
112 uint8_t major,
113 uint8_t minor,
114 uint8_t sub,
115 const char* string );
116
117 int handleFiltDefFile( void* userData,
118 uint32_t stream,
119 uint32_t token,
120 const char *name,
121 uint32_t group );
122
123 int handleFiltDefFileGroup( void* userData,
124 uint32_t stream,
125 uint32_t token,
126 const char *name );
127
128 int handleFiltEnter( void* userData,
129 uint64_t time,
130 uint32_t function,
131 uint32_t process,
132 uint32_t source );
133
134 int handleFiltLeave( void* userData,
135 uint64_t time,
136 uint32_t function,
137 uint32_t process,
138 uint32_t source );
139
140 int handleFiltSendMsg( void* userData,
141 uint64_t time,
142 uint32_t sender,
143 uint32_t receiver,
144 uint32_t group,
145 uint32_t type,
146 uint32_t length,
147 uint32_t source );
148
149 int handleFiltRecvMsg( void* userData,
150 uint64_t time,
151 uint32_t recvProc,
152 uint32_t sendProc,
153 uint32_t group,
154 uint32_t type,
155 uint32_t length,
156 uint32_t source );
157
158 int handleFiltCounter( void* userData,
159 uint64_t time,
160 uint32_t process,
161 uint32_t counter,
162 uint64_t value );
163
164 int handleFiltCollectiveOperation( void* userData,
165 uint64_t time,
166 uint32_t process,
167 uint32_t collective,
168 uint32_t procGroup,
169 uint32_t rootProc,
170 uint32_t sent,
171 uint32_t received,
172 uint64_t duration,
173 uint32_t source );
174
175 int handleFiltEventComment( void* userData,
176 uint64_t time,
177 uint32_t process,
178 const char* comment );
179
180 int handleFiltBeginProcess( void* userData,
181 uint64_t time,
182 uint32_t process );
183
184 int handleFiltEndProcess( void* userData,
185 uint64_t time,
186 uint32_t process );
187
188 int handleFiltFileOperation( void* userData,
189 uint64_t time,
190 uint32_t fileid,
191 uint32_t process,
192 uint64_t handleid,
193 uint32_t operation,
194 uint64_t bytes,
195 uint64_t duration,
196 uint32_t source );
197
198 int handleFiltSnapshotComment( void* userData,
199 uint64_t time,
200 uint32_t process,
201 const char* comment );
202
203 int handleFiltEnterSnapshot( void *userData,
204 uint64_t time,
205 uint64_t originaltime,
206 uint32_t function,
207 uint32_t process,
208 uint32_t source );
209
210 int handleFiltSendSnapshot( void *userData,
211 uint64_t time,
212 uint64_t originaltime,
213 uint32_t sender,
214 uint32_t receiver,
215 uint32_t procGroup,
216 uint32_t tag,
217 uint32_t length,
218 uint32_t source );
219
220 int handleFiltOpenFileSnapshot( void* userData,
221 uint64_t time,
222 uint64_t originaltime,
223 uint32_t fileid,
224 uint32_t process,
225 uint64_t handleid,
226 uint32_t source );
227
228 int handleFiltSummaryComment( void * userData,
229 uint64_t time,
230 uint32_t process,
231 const char* comment );
232
233 int handleFiltFunctionSummary( void* userData,
234 uint64_t time,
235 uint32_t function,
236 uint32_t process,
237 uint64_t invocations,
238 uint64_t exclTime,
239 uint64_t inclTime );
240
241 int handleFiltFunctionGroupSummary( void* userData,
242 uint64_t time,
243 uint32_t funcGroup,
244 uint32_t process,
245 uint64_t invocations,
246 uint64_t exclTime,
247 uint64_t inclTime );
248
249 int handleFiltMessageSummary( void* userData,
250 uint64_t time,
251 uint32_t process,
252 uint32_t peer,
253 uint32_t comm,
254 uint32_t type,
255 uint64_t sentNumber,
256 uint64_t receivedNumber,
257 uint64_t sentBytes,
258 uint64_t receivedBytes );
259
260 int handleFiltFileOperationSummary( void* userData,
261 uint64_t time,
262 uint32_t fileid,
263 uint32_t process,
264 uint64_t nopen,
265 uint64_t nclose,
266 uint64_t nread,
267 uint64_t nwrite,
268 uint64_t nseek,
269 uint64_t bytesread,
270 uint64_t byteswrite );
271
272 int handleFiltFileGroupOperationSummary( void* userData,
273 uint64_t time,
274 uint32_t groupid,
275 uint32_t process,
276 uint64_t nopen,
277 uint64_t nclose,
278 uint64_t nread,
279 uint64_t nwrite,
280 uint64_t nseek,
281 uint64_t bytesread,
282 uint64_t byteswrite );
283
284
285 #endif /* _VT_FILTHANDLER_H_ */
286
otf.h
Main include file for applications using OTF.
struct_OTF_MasterControl
Data structure that collects the information about which stream contains which parts of a multi-file ...
Definition: OTF_MasterControl.h:166
FiltHandlerArgument
Definition: vt_filthandler.h:30
struct_OTF_WStream
Definition: OTF_WStream.h:95
Process
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: datastructs.h:246