35 #ifndef OTF_HANDLERARRAY_H
36 #define OTF_HANDLERARRAY_H
128 uint64_t ticksPerSecond,
144 uint32_t numberOfProcs,
145 const uint32_t* procs,
193 uint32_t counterGroup,
200 uint32_t counterGroup,
255 const char *description,
269 uint32_t number_of_members,
270 const uint32_t* procs_or_groups,
274 typedef int (OTF_Handler_DefProcessSubstitutes) (
void* userData,
276 uint32_t representative,
277 uint32_t numberOfProcs,
278 const uint32_t* procs,
426 uint32_t communicator,
438 uint32_t communicator,
450 uint32_t communicator,
461 uint32_t communicator,
480 uint64_t originaltime,
489 uint64_t originaltime,
501 uint64_t originaltime,
511 uint64_t originaltime,
525 uint64_t originaltime,
547 uint64_t invocations,
557 uint64_t invocations,
570 uint64_t receivedNumber,
572 uint64_t receivedBytes,
582 uint64_t receivedNumber,
584 uint64_t receivedBytes,
619 const char *record );
int OTF_Handler_DefFunction(void *userData, uint32_t stream, uint32_t func, const char *name, uint32_t funcGroup, uint32_t source, OTF_KeyValueList *list)
Provides a function definition.
OTF_HandlerArray * OTF_HandlerArray_open(void)
Open a new array of handlers.
Definition: OTF_HandlerArray.c:58
int OTF_Handler_Counter(void *userData, uint64_t time, uint32_t process, uint32_t counter, uint64_t value, OTF_KeyValueList *list)
Provides a counter measurement.
int OTF_Handler_SendMsg(void *userData, uint64_t time, uint32_t sender, uint32_t receiver, uint32_t group, uint32_t type, uint32_t length, uint32_t source, OTF_KeyValueList *list)
Provides a message send event.
int OTF_Handler_FileOperationSummary(void *userData, uint64_t time, uint32_t fileid, uint32_t process, uint64_t nopen, uint64_t nclose, uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread, uint64_t byteswrite, OTF_KeyValueList *list)
Provides summarized information about file operations.
int OTF_Handler_Leave(void *userData, uint64_t time, uint32_t function, uint32_t process, uint32_t source, OTF_KeyValueList *list)
Provides a function leave event.
int OTF_Handler_FileOperation(void *userData, uint64_t time, uint32_t fileid, uint32_t process, uint64_t handleid, uint32_t operation, uint64_t bytes, uint64_t duration, uint32_t source, OTF_KeyValueList *list)
Provides a file operation event NOTE: this is experimental.
int OTF_Handler_SendSnapshot(void *userData, uint64_t time, uint64_t originaltime, uint32_t sender, uint32_t receiver, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source, OTF_KeyValueList *list)
provides information about a past message send operation at the time 'originaltime'.
int OTF_Handler_DefTimeRange(void *userData, uint32_t stream, uint64_t minTime, uint64_t maxTime, OTF_KeyValueList *list)
Provides a TimeRange definition.
int OTF_Handler_DefFunctionGroup(void *userData, uint32_t stream, uint32_t funcGroup, const char *name, OTF_KeyValueList *list)
Provides a function group definition.
int OTF_Handler_FunctionGroupSummary(void *userData, uint64_t time, uint32_t funcGroup, uint32_t process, uint64_t invocations, uint64_t exclTime, uint64_t inclTime, OTF_KeyValueList *list)
Provides summarized information for a given group of functiongroups.
int OTF_Handler_DefProcessOrGroupAttributes(void *userData, uint32_t stream, uint32_t proc_token, uint32_t attr_token, OTF_KeyValueList *list)
Provides a process or group attributes definition.
int OTF_Handler_EndCollectiveOperation(void *userData, uint64_t time, uint32_t process, uint64_t matchingId, OTF_KeyValueList *list)
Provides an end collective operation member event.
int OTF_Handler_EventComment(void *userData, uint64_t time, uint32_t process, const char *comment, OTF_KeyValueList *list)
Provide a comment record.
void ** firsthandlerarg
Array of first handler arguments.
Definition: OTF_HandlerArray.h:58
int OTF_Handler_DefCounterAssignments(void *userData, uint32_t stream, uint32_t counter, uint32_t number_of_members, const uint32_t *procs_or_groups, OTF_KeyValueList *list)
Provides a CounterAssignments definition.
int OTF_HandlerArray_setHandler(OTF_HandlerArray *handlers, OTF_FunctionPointer *pointer, uint32_t recordtype)
Assign the function pointer to your own handler of the given record type.
Definition: OTF_HandlerArray.c:129
int( OTF_FunctionPointer)(void *userData)
Generic function pointer for OTF record handlers.
Definition: OTF_HandlerArray.h:48
int OTF_Handler_BeginProcess(void *userData, uint64_t time, uint32_t process, OTF_KeyValueList *list)
Provides a process creation event.
int OTF_Handler_RMAGet(void *userData, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t source, OTF_KeyValueList *list)
Provides a RMA get event - end marker is anticipated on initiating Process.
int OTF_HandlerArray_getCopyHandler_stream(OTF_HandlerArray *handlers, OTF_WStream *writer)
Provide copy handlers to every record type for OTF streams.
Definition: OTF_HandlerArray.c:499
int OTF_Handler_DefCounterGroup(void *userData, uint32_t stream, uint32_t counterGroup, const char *name, OTF_KeyValueList *list)
Provides a counter group definition.
int OTF_Handler_Marker(void *userData, uint64_t time, uint32_t process, uint32_t token, const char *text, OTF_KeyValueList *list)
Define a marker.
int OTF_Handler_DefMarker(void *userData, uint32_t stream, uint32_t token, const char *name, uint32_t type, OTF_KeyValueList *list)
Define a marker.
int OTF_Handler_RMAEnd(void *userData, uint64_t time, uint32_t process, uint32_t remote, uint32_t communicator, uint32_t tag, uint32_t source, OTF_KeyValueList *list)
Provide a RMA end event.
int OTF_Handler_NoOp(void *userData, uint64_t time, uint32_t process, OTF_KeyValueList *list)
Provides a no-operation event.
int OTF_Handler_UnknownRecord(void *userData, uint64_t time, uint32_t process, const char *record)
Can be used to handle records which cannot be read.
int OTF_Handler_FileGroupOperationSummary(void *userData, uint64_t time, uint32_t groupid, uint32_t process, uint64_t nopen, uint64_t nclose, uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread, uint64_t byteswrite, OTF_KeyValueList *list)
Provides summarized information about file operations in a file group.
int OTF_Handler_RecvMsg(void *userData, uint64_t time, uint32_t recvProc, uint32_t sendProc, uint32_t group, uint32_t type, uint32_t length, uint32_t source, OTF_KeyValueList *list)
Provides a message retrieval event.
int OTF_Handler_DefKeyValue(void *userData, uint32_t stream, uint32_t key, OTF_Type type, const char *name, const char *description, OTF_KeyValueList *list)
Provides a KeyValue definition.
int OTF_Handler_SummaryComment(void *userData, uint64_t time, uint32_t process, const char *comment, OTF_KeyValueList *list)
Provides a summary comment.
Object structure which holds OTF record handlers.
Definition: OTF_HandlerArray.h:52
int OTF_Handler_EndProcess(void *userData, uint64_t time, uint32_t process, OTF_KeyValueList *list)
Provides a process destruction event.
int OTF_Handler_BeginCollectiveOperation(void *userData, uint64_t time, uint32_t process, uint32_t collOp, uint64_t matchingId, uint32_t procGroup, uint32_t rootProc, uint64_t sent, uint64_t received, uint32_t scltoken, OTF_KeyValueList *list)
Provides a begin collective operation member event.
int OTF_Handler_DefinitionComment(void *userData, uint32_t stream, const char *comment, OTF_KeyValueList *list)
Provides a comment record.
int OTF_Handler_DefProcessGroup(void *userData, uint32_t stream, uint32_t procGroup, const char *name, uint32_t numberOfProcs, const uint32_t *procs, OTF_KeyValueList *list)
Provides a process group definition.
int OTF_HandlerArray_getCopyHandler(OTF_HandlerArray *handlers, OTF_Writer *writer)
Provide copy handlers to every record type.
Definition: OTF_HandlerArray.c:165
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.
int OTF_Handler_RMAPutRemoteEnd(void *userData, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t source, OTF_KeyValueList *list)
Provides a RMA put event with remote finalization marker, i.e.
int OTF_Handler_DefVersion(void *userData, uint32_t stream, uint8_t major, uint8_t minor, uint8_t sub, const char *string, OTF_KeyValueList *list)
Provides information on the trace“s otf-version.
int OTF_Handler_DefCounter(void *userData, uint32_t stream, uint32_t counter, const char *name, uint32_t properties, uint32_t counterGroup, const char *unit, OTF_KeyValueList *list)
Provides a counter definition.
int OTF_Handler_DefScl(void *userData, uint32_t stream, uint32_t source, uint32_t sourceFile, uint32_t line, OTF_KeyValueList *list)
Provides a source code location (SCL).
int OTF_Handler_DefCollectiveOperation(void *userData, uint32_t stream, uint32_t collOp, const char *name, uint32_t type, OTF_KeyValueList *list)
Provides a collective operation definition.
int OTF_Handler_DefCreator(void *userData, uint32_t stream, const char *creator, OTF_KeyValueList *list)
Provides file creator information.
int OTF_Handler_OpenFileSnapshot(void *userData, uint64_t time, uint64_t originaltime, uint32_t fileid, uint32_t process, uint64_t handleid, uint32_t source, OTF_KeyValueList *list)
Provides a snapshot record for opened(and not yet closed) files.
int OTF_Handler_FunctionSummary(void *userData, uint64_t time, uint32_t function, uint32_t process, uint64_t invocations, uint64_t exclTime, uint64_t inclTime, OTF_KeyValueList *list)
Provides summarized information for a given function.
Provides write access to trace streams, which consist of multiple buffers.
int OTF_Handler_DefTimerResolution(void *userData, uint32_t stream, uint64_t ticksPerSecond, OTF_KeyValueList *list)
Provides the timer resolution.
int OTF_Handler_BeginFileOperation(void *userData, uint64_t time, uint32_t process, uint64_t matchingId, uint32_t scltoken, OTF_KeyValueList *list)
Write a begin file operation record.
int OTF_HandlerArray_close(OTF_HandlerArray *handlers)
Close and delete a OTF_HandlerArray object.
Definition: OTF_HandlerArray.c:108
int OTF_Handler_DefSclFile(void *userData, uint32_t stream, uint32_t sourceFile, const char *name, OTF_KeyValueList *list)
Provides a source code location (SCL) file.
int OTF_Handler_EndFileOperation(void *userData, uint64_t time, uint32_t process, uint32_t fileid, uint64_t matchingId, uint64_t handleId, uint32_t operation, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList *list)
Write an end file operation record.
Definition: OTF_WStream.h:95
int OTF_Handler_Enter(void *userData, uint64_t time, uint32_t function, uint32_t process, uint32_t source, OTF_KeyValueList *list)
Provides a function entry event.
int OTF_HandlerArray_setFirstHandlerArg(OTF_HandlerArray *handlers, void *firsthandlerarg, uint32_t recordtype)
Assign the first argument to your own handler of the given record type.
Definition: OTF_HandlerArray.c:147
struct OTF_KeyValueList_struct OTF_KeyValueList
Object type which holds a key-value list.
Definition: OTF_KeyValue.h:242
int OTF_Handler_DefAttributeList(void *userData, uint32_t stream, uint32_t attr_token, uint32_t num, OTF_ATTR_TYPE *array, OTF_KeyValueList *list)
Provides a list of attributes that is assigned to a unique token.
Holds the data objects needed for global trace creation.
Definition: OTF_Writer.c:21
Transparently writes OTF traces which consist of multiple streams.
int OTF_Handler_DefFileGroup(void *userData, uint32_t stream, uint32_t token, const char *name, OTF_KeyValueList *list)
Provides a file group definition NOTE: this is experimental.
int OTF_Handler_DefFile(void *userData, uint32_t stream, uint32_t token, const char *name, uint32_t group, OTF_KeyValueList *list)
Provides a file definition NOTE: this is experimental.
int OTF_Handler_MessageSummary(void *userData, uint64_t time, uint32_t process, uint32_t peer, uint32_t comm, uint32_t type, uint64_t sentNumber, uint64_t receivedNumber, uint64_t sentBytes, uint64_t receivedBytes, OTF_KeyValueList *list)
Provides summarized information for a given message type.
int OTF_Handler_CollectiveOperation(void *userData, uint64_t time, uint32_t process, uint32_t collective, uint32_t procGroup, uint32_t rootProc, uint32_t sent, uint32_t received, uint64_t duration, uint32_t source, OTF_KeyValueList *list)
Provides a collective operation member event.
int OTF_Handler_RMAPut(void *userData, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t source, OTF_KeyValueList *list)
Provides a RMA put event - end marker is anticipated on initiating Process.
int OTF_Handler_DefProcess(void *userData, uint32_t stream, uint32_t process, const char *name, uint32_t parent, OTF_KeyValueList *list)
Provides a process definition.
int OTF_Handler_BeginFileOpSnapshot(void *userData, uint64_t time, uint64_t originaltime, uint32_t process, uint64_t matchingId, uint32_t scltoken, OTF_KeyValueList *list)
int OTF_Handler_BeginCollopSnapshot(void *userData, uint64_t time, uint64_t originaltime, uint32_t process, uint32_t collOp, uint64_t matchingId, uint32_t procGroup, uint32_t rootProc, uint64_t sent, uint64_t received, uint32_t scltoken, OTF_KeyValueList *list)
Provides a snapshot record for unfinished collective operations.
int OTF_Handler_EnterSnapshot(void *userData, uint64_t time, uint64_t originaltime, uint32_t function, uint32_t process, uint32_t source, OTF_KeyValueList *list)
provides information about a past function call at the time 'originaltime'.
int OTF_Handler_SnapshotComment(void *userData, uint64_t time, uint32_t process, const char *comment, OTF_KeyValueList *list)
Provides a snapshot comment.
OTF_FunctionPointer ** pointer
Array of function pointer.
Definition: OTF_HandlerArray.h:55
int OTF_Handler_CollopSummary(void *userData, uint64_t time, uint32_t process, uint32_t comm, uint32_t collective, uint64_t sentNumber, uint64_t receivedNumber, uint64_t sentBytes, uint64_t receivedBytes, OTF_KeyValueList *list)
Provides summarized information for collective operations.