OpenMPI  0.1.1
OTF_CopyHandler.h
Go to the documentation of this file.
1 /*
2  This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
3  Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
4 */
5 
6 /**
7  * @file OTF_CopyHandler.h
8  *
9  * @brief Provides handlers for copying a trace.
10  *
11  * \ingroup internal
12  */
13 
14 #ifndef OTF_COPYHANDLER_H
15 #define OTF_COPYHANDLER_H
16 
17 
18 #include "OTF_inttypes.h"
19 #include "OTF_Definitions.h"
20 
21 #include "OTF_KeyValue.h"
22 
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* __cplusplus */
27 
28 int OTF_CopyHandler_DefinitionComment( void* userData, uint32_t stream,
29  const char* comment, OTF_KeyValueList* list );
30 
31 int OTF_CopyHandler_DefTimerResolution( void* userData, uint32_t stream,
32  uint64_t ticksPerSecond, OTF_KeyValueList* list );
33 
34 int OTF_CopyHandler_DefProcess( void* userData, uint32_t stream, uint32_t process,
35  const char* name, uint32_t parent, OTF_KeyValueList* list );
36 
37 int OTF_CopyHandler_DefProcessGroup( void* userData, uint32_t stream,
38  uint32_t procGroup, const char* name, uint32_t numberOfProcs,
39  const uint32_t* procs, OTF_KeyValueList* list );
40 
41 int OTF_CopyHandler_DefAttributeList( void* userData, uint32_t stream,
42  uint32_t attr_token, uint32_t num, OTF_ATTR_TYPE* array, OTF_KeyValueList* list );
43 
44 int OTF_CopyHandler_DefProcessOrGroupAttributes( void* userData, uint32_t stream,
45  uint32_t proc_token, uint32_t attr_token, OTF_KeyValueList* list );
46 
47 int OTF_CopyHandler_DefFunction( void* userData, uint32_t stream, uint32_t func,
48  const char* name, uint32_t funcGroup, uint32_t source, OTF_KeyValueList* list );
49 
50 int OTF_CopyHandler_DefFunctionGroup( void* userData, uint32_t stream,
51  uint32_t funcGroup, const char* name, OTF_KeyValueList* list );
52 
53 int OTF_CopyHandler_DefCollectiveOperation( void* userData, uint32_t stream,
54  uint32_t collOp, const char* name, uint32_t type, OTF_KeyValueList* list );
55 
56 int OTF_CopyHandler_DefCounter( void* userData, uint32_t stream, uint32_t counter,
57  const char* name, uint32_t properties, uint32_t counterGroup,
58  const char* unit, OTF_KeyValueList* list );
59 
60 int OTF_CopyHandler_DefCounterGroup( void* userData, uint32_t stream,
61  uint32_t counterGroup, const char* name, OTF_KeyValueList* list );
62 
63 int OTF_CopyHandler_DefScl( void* userData, uint32_t stream, uint32_t source,
64  uint32_t sourceFile, uint32_t line, OTF_KeyValueList* list );
65 
66 int OTF_CopyHandler_DefSclFile( void* userData, uint32_t stream,
67  uint32_t sourceFile, const char* name, OTF_KeyValueList* list );
68 
69 int OTF_CopyHandler_DefVersion( void* userData, uint32_t stream,
70  uint8_t major, uint8_t minor, uint8_t sub, const char* string );
71 
72 int OTF_CopyHandler_DefCreator( void* userData, uint32_t stream,
73  const char* creator, OTF_KeyValueList* list );
74 
75 int OTF_CopyHandler_DefFile( void* userData, uint32_t stream, uint32_t token,
76  const char* name, uint32_t group, OTF_KeyValueList* list );
77 
78 int OTF_CopyHandler_DefFileGroup( void* userData, uint32_t stream,
79  uint32_t token, const char* name, OTF_KeyValueList* list );
80 
81 int OTF_CopyHandler_DefKeyValue( void* userData, uint32_t stream, uint32_t key,
82  OTF_Type type, const char* name, const char* description, OTF_KeyValueList* list );
83 
84 int OTF_CopyHandler_DefTimeRange( void* userData, uint32_t stream,
85  uint64_t minTime, uint64_t maxTime, OTF_KeyValueList* list );
86 
87 int OTF_CopyHandler_DefCounterAssignments( void* userData, uint32_t stream,
88  uint32_t counter, uint32_t number_of_members,
89  const uint32_t* procs_or_groups, OTF_KeyValueList* list );
90 
91 int OTF_CopyHandler_DefProcessSubstitutes( void* userData, uint32_t stream,
92  uint32_t representative, uint32_t numberOfProcs, const uint32_t* procs,
93  OTF_KeyValueList* list );
94 
95 int OTF_CopyHandler_NoOp( void* userData, uint64_t time, uint32_t process,
96  OTF_KeyValueList* list );
97 
98 int OTF_CopyHandler_Enter( void* userData, uint64_t time, uint32_t function,
99  uint32_t process, uint32_t source, OTF_KeyValueList* list );
100 
101 int OTF_CopyHandler_Leave( void* userData, uint64_t time, uint32_t function,
102  uint32_t process, uint32_t source, OTF_KeyValueList* list );
103 
104 int OTF_CopyHandler_SendMsg( void* userData, uint64_t time, uint32_t sender,
105  uint32_t receiver, uint32_t group, uint32_t type, uint32_t length,
106  uint32_t source, OTF_KeyValueList* list );
107 
108 int OTF_CopyHandler_RecvMsg( void* userData, uint64_t time, uint32_t recvProc,
109  uint32_t sendProc, uint32_t group, uint32_t type, uint32_t length,
110  uint32_t source, OTF_KeyValueList* list );
111 
112 int OTF_CopyHandler_Counter( void* userData, uint64_t time, uint32_t process,
113  uint32_t counter, uint64_t value, OTF_KeyValueList* list );
114 
115 int OTF_CopyHandler_CollectiveOperation( void* userData, uint64_t time,
116  uint32_t process, uint32_t collective, uint32_t procGroup,
117  uint32_t rootProc, uint32_t sent, uint32_t received, uint64_t duration,
118  uint32_t source, OTF_KeyValueList* list );
119 
120 int OTF_CopyHandler_BeginCollectiveOperation( void* userData, uint64_t time,
121  uint32_t process, uint32_t collOp, uint64_t matchingId,
122  uint32_t procGroup, uint32_t rootProc, uint64_t sent,
123  uint64_t received, uint32_t scltoken, OTF_KeyValueList* list );
124 
125 int OTF_CopyHandler_EndCollectiveOperation( void* userData, uint64_t time,
126  uint32_t process, uint64_t matchingId, OTF_KeyValueList* list );
127 
128 int OTF_CopyHandler_EventComment( void* userData, uint64_t time, uint32_t process,
129  const char* comment, OTF_KeyValueList* list );
130 
131 int OTF_CopyHandler_BeginProcess( void* userData, uint64_t time, uint32_t process, OTF_KeyValueList* list );
132 
133 int OTF_CopyHandler_EndProcess( void* userData, uint64_t time, uint32_t process, OTF_KeyValueList* list );
134 
135 int OTF_CopyHandler_SnapshotComment( void* userData, uint64_t time,
136  uint32_t process, const char* comment, OTF_KeyValueList* list );
137 
138 int OTF_CopyHandler_FileOperation( void* userData, uint64_t time, uint32_t fileid,
139  uint32_t process, uint64_t handleid, uint32_t operation, uint64_t bytes,
140  uint64_t duration, uint32_t source, OTF_KeyValueList* list );
141 
142 int OTF_CopyHandler_BeginFileOperation( void* userData, uint64_t time,
143  uint32_t process, uint64_t matchingId, uint32_t scltoken, OTF_KeyValueList* list );
144 
145 int OTF_CopyHandler_EndFileOperation( void* userData, uint64_t time,
146  uint32_t process, uint32_t fileid, uint64_t matchingId, uint64_t handleId,
147  uint32_t operation, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList* list );
148 
149 int OTF_CopyHandler_RMAPut( void* userData, uint64_t time, uint32_t process,
150  uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag,
151  uint64_t bytes, uint32_t scltoken, OTF_KeyValueList* list );
152 
153 int OTF_CopyHandler_RMAPutRemoteEnd( void* userData, uint64_t time,
154  uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator,
155  uint32_t tag, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList* list );
156 
157 int OTF_CopyHandler_RMAGet( void* userData, uint64_t time, uint32_t process,
158  uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag,
159  uint64_t bytes, uint32_t scltoken, OTF_KeyValueList* list );
160 
161 int OTF_CopyHandler_RMAEnd( void* userData, uint64_t time, uint32_t process,
162  uint32_t remote, uint32_t communicator, uint32_t tag, uint32_t scltoken, OTF_KeyValueList* list );
163 
164 
165 int OTF_CopyHandler_EnterSnapshot( void *userData, uint64_t time,
166  uint64_t originaltime, uint32_t function, uint32_t process,
167  uint32_t source, OTF_KeyValueList* list );
168 
169 int OTF_CopyHandler_SendSnapshot( void *userData, uint64_t time,
170  uint64_t originaltime, uint32_t sender, uint32_t receiver,
171  uint32_t procGroup, uint32_t tag, uint32_t length,
172  uint32_t source, OTF_KeyValueList* list );
173 
174 int OTF_CopyHandler_OpenFileSnapshot( void* userData, uint64_t time,
175  uint64_t originaltime, uint32_t fileid, uint32_t process, uint64_t handleid,
176  uint32_t source, OTF_KeyValueList* list );
177 
178 int OTF_CopyHandler_BeginCollopSnapshot( void* userData, uint64_t time,
179  uint64_t originaltime, uint32_t process, uint32_t collOp,
180  uint64_t matchingId, uint32_t procGroup, uint32_t rootProc,
181  uint64_t sent, uint64_t received, uint32_t scltoken, OTF_KeyValueList* list );
182 
183 int OTF_CopyHandler_BeginFileOpSnapshot( void* userData, uint64_t time,
184  uint64_t originaltime, uint32_t process, uint64_t matchingId,
185  uint32_t scltoken, OTF_KeyValueList* list );
186 
187 
188 int OTF_CopyHandler_SummaryComment( void * userData, uint64_t time,
189  uint32_t process, const char* comment, OTF_KeyValueList* list );
190 
191 int OTF_CopyHandler_FunctionSummary( void* userData, uint64_t time,
192  uint32_t function, uint32_t process, uint64_t invocations,
193  uint64_t exclTime, uint64_t inclTime, OTF_KeyValueList* list );
194 
195 int OTF_CopyHandler_FunctionGroupSummary( void* userData, uint64_t time,
196  uint32_t funcGroup, uint32_t process, uint64_t invocations,
197  uint64_t exclTime, uint64_t inclTime, OTF_KeyValueList* list );
198 
199 int OTF_CopyHandler_MessageSummary( void* userData, uint64_t time, uint32_t process,
200  uint32_t peer, uint32_t comm, uint32_t type, uint64_t sentNumber,
201  uint64_t receivedNumber, uint64_t sentBytes, uint64_t receivedBytes, OTF_KeyValueList* list );
202 
203 int OTF_CopyHandler_CollopSummary(void *userData, uint64_t time, uint32_t process, uint32_t comm,
204  uint32_t collective, uint64_t sentNumber, uint64_t receivedNumber, uint64_t sentBytes,
205  uint64_t receivedBytes, OTF_KeyValueList* list );
206 
207 int OTF_CopyHandler_FileOperationSummary( void* userData, uint64_t time,
208  uint32_t fileid, uint32_t process, uint64_t nopen, uint64_t nclose,
209  uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread,
210  uint64_t byteswrite, OTF_KeyValueList* list );
211 
212 int OTF_CopyHandler_FileGroupOperationSummary( void* userData, uint64_t time,
213  uint32_t groupid, uint32_t process, uint64_t nopen, uint64_t nclose,
214  uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread,
215  uint64_t byteswrite, OTF_KeyValueList* list );
216 
217 int OTF_CopyHandler_DefMarker( void *userData, uint32_t stream,
218  uint32_t token, const char* name, uint32_t type, OTF_KeyValueList* list );
219 
220 int OTF_CopyHandler_Marker( void *userData, uint64_t time,
221  uint32_t process, uint32_t token, const char* text, OTF_KeyValueList* list );
222 
223 #ifdef __cplusplus
224 }
225 #endif /* __cplusplus */
226 
227 #endif /* OTF_COPYHANDLER_H */
228 
enum OTF_ATTR_TYPE_enum OTF_ATTR_TYPE
An enum which holds all values that are possible to set with datatype OTF_ATTR_TYPE().
enum OTF_Type_enum OTF_Type
An enum which holds all OTF datatypes that are relevant for OTF_KeyValueList.
Provides an additional list of key value pairs that can be added to records.
struct OTF_KeyValueList_struct OTF_KeyValueList
Object type which holds a key-value list.
Definition: OTF_KeyValue.h:242
Provides many many macros for different purposes.
Deals with all data type related issues.