OpenMPI 0.1.1

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

- File List
- Globals

handler.h
1 /*
2 This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
3 Authors: Michael Heyde
4 */
5
6 #ifndef HANDLER_H
7 #define HANDLER_H
8
9 #include "hash.h"
10
11 #include "OTF_inttypes.h"
12
13 typedef struct counterS
14 {
15 char *name;
16 uint32_t id;
17 uint32_t properties;
18 mapInfoProcessT *processMap;
19 } counterT;
20
21 typedef struct definitionInfoS
22 {
23 char *filePrefix;
24 char *creatorName;
25 char **definitionComments;
26 char **sourceFileNames;
27 char **processNames;
28 char **processGroupNames;
29 char **functionNames;
30 char **functionGroupNames;
31 char **collectiveOperationNames;
32 counterT *counters;
33 char **counterGroupNames;
34 char **markerNames;
35 char *otfVersionString;
36 int infoLevel;
37 uint8_t otfVersionMajor;
38 uint8_t otfVersionMinor;
39 uint8_t otfVersionSub;
40 uint64_t traceFileSize;
41 uint64_t counterCollectiveOperation;
42 uint64_t counterDefinitionComment;
43 uint64_t counterSourceFileName;
44 uint64_t counterFunctionGroupDefinition;
45 uint64_t counterFunctionDefinition;
46 uint64_t counterProcessGroupDefinition;
47 uint64_t counterProcessDefinition;
48 uint64_t counterCounterDefinition;
49 uint64_t counterCounterGroupDefinition;
50 uint64_t counterLeave;
51 uint64_t counterEnter;
52 uint64_t counterSend;
53 uint64_t counterReceive;
54 uint64_t counterDefinitionMarker;
55 uint64_t timerResolution;
56 uint64_t counterRMAPut;
57 uint64_t counterRMAPutRemoteEnd;
58 uint64_t counterRMAGet;
59 uint64_t counterRMAEnd;
60 uint64_t counterFileOperation;
61 uint64_t counterSnapshot;
62 } definitionInfoT;
63
64 /* Level 1/4 handles */
65
66 int handleUnknownRecord( void *userData, uint64_t time, uint32_t process,
67 const char *record );
68
69 int handleDefCreator( void *userData, uint32_t stream, const char *creator );
70
71 int handleDefVersion( void *userData, uint32_t stream, uint8_t major,
72 uint8_t minor, uint8_t sub, const char *string );
73
74 int handleDefProcess( void *userData, uint32_t stream, uint32_t process,
75 const char *name, uint32_t parent );
76
77 int handleDefTimerResolution( void *userData, uint32_t stream,
78 uint64_t ticksPerSecond );
79
80 int handleDefinitionComment( void *userData, uint32_t stream,
81 const char *comment );
82
83 /* Level 2 handles */
84
85 int handleDefFunction( void *userData, uint32_t stream, uint32_t func,
86 const char *name, uint32_t funcGroup, uint32_t source );
87
88 int handleDefCounter( void *userData, uint32_t stream, uint32_t counter,
89 const char *name, uint32_t properties,
90 uint32_t counterGroup, const char *unit );
91
92 int handleDefMarker( void *userData, uint32_t stream, uint32_t token,
93 const char *name, uint32_t type );
94
95 int handleDefProcessGroup( void *userData, uint32_t stream, uint32_t procGroup,
96 const char *name, uint32_t numberOfProcs,
97 const uint32_t *procs );
98
99 int handleDefFunctionGroup( void *userData, uint32_t stream,
100 uint32_t funcGroup, const char *name );
101
102 int handleDefCounterGroup( void *userData, uint32_t stream,
103 uint32_t counterGroup, const char *name );
104
105 int handleDefSclFile( void *userData, uint32_t stream, uint32_t sourceFile,
106 const char *name );
107
108 /* Level 3 handles */
109
110 int handleEnter( void *userData, uint64_t time, uint32_t function,
111 uint32_t process, uint32_t source );
112
113 int handleLeave( void *userData, uint64_t time, uint32_t function,
114 uint32_t process, uint32_t source );
115
116 int handleSendMsg( void *userData, uint64_t time, uint32_t sender,
117 uint32_t receiver, uint32_t group, uint32_t type,
118 uint32_t length, uint32_t source );
119
120 int handleRecvMsg( void *userData, uint64_t time, uint32_t recvProc,
121 uint32_t sendProc, uint32_t group, uint32_t type,
122 uint32_t length, uint32_t source );
123
124 int handleRMAPut( void *userData, uint64_t time, uint32_t process,
125 uint32_t origin, uint32_t target, uint32_t communicator,
126 uint32_t tag, uint64_t bytes, uint32_t source );
127
128 int handleRMAPutRemoteEnd( void *userData, uint64_t time, uint32_t process,
129 uint32_t origin, uint32_t target,
130 uint32_t communicator, uint32_t tag, uint64_t bytes,
131 uint32_t source );
132
133 int handleRMAGet( void *userData, uint64_t time, uint32_t process,
134 uint32_t origin, uint32_t target, uint32_t communicator,
135 uint32_t tag, uint64_t bytes, uint32_t source );
136
137 int handleRMAEnd( void *userData, uint64_t time, uint32_t process,
138 uint32_t remote, uint32_t communicator, uint32_t tag,
139 uint32_t source );
140
141 int handleDefCollectiveOperation( void *userData, uint32_t stream,
142 uint32_t collOp, const char *name,
143 uint32_t type );
144
145 int handleFileOperation( void *userData, uint64_t time, uint32_t fileid,
146 uint32_t process, uint64_t handleid,
147 uint32_t operation, uint64_t bytes, uint64_t duration,
148 uint32_t source );
149
150 int handleEndFileOperation( void *userData, uint64_t time, uint32_t process,
151 uint32_t fileid, uint64_t handleid,
152 uint32_t operation, uint64_t bytes,
153 uint32_t source );
154
155 int handleEnterSnapshot( void *userData, uint64_t time, uint64_t originaltime,
156 uint32_t function, uint32_t process,
157 uint32_t source );
158
159 int handleCounter( void* userData, uint64_t time, uint32_t process,
160 uint32_t counter, uint64_t value );
161
162
163 uint64_t process_get_sum_time( mapInfoProcessT *set );
164
165 uint64_t process_get_sum_value( mapInfoProcessT *set );
166
167 double process_get_highest_rate(mapInfoProcessT *set );
168
169 #endif /* HANDLER_H */
counterS
Definition: handler.h:13
mapInfoProcessS
Definition: hash.h:24
OTF_inttypes.h
Deals with all data type related issues.
definitionInfoS
Definition: handler.h:21