OpenMPI  0.1.1
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 };
31 
32  FiltHandlerArgument() : wstream(0), mc(0) {}
33 
35 
36  std::map<std::string, uint32_t> nm2tok; /* created during definition reading*/
37  std::map<uint32_t, Process > t2p;
38  OTF_WStream* wstream;
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 
Main include file for applications using OTF.
Data structure that collects the information about which stream contains which parts of a multi-file ...
Definition: OTF_MasterControl.h:166
Definition: vt_filthandler.h:30
Definition: OTF_WStream.h:95
VampirTrace http://www.tu-dresden.de/zih/vampirtrace.
Definition: datastructs.h:246