![]() |
1.2.1 (revision 3238)
|
00001 /* 00002 * This file is part of the Score-P software (http://www.score-p.org) 00003 * 00004 * Copyright (c) 2013, 00005 * Technische Universitaet Dresden, Germany 00006 * 00007 * This software may be modified and distributed under the terms of 00008 * a BSD-style license. See the COPYING file in the package base 00009 * directory for details. 00010 */ 00011 00012 00013 #ifndef OTF2_SNAP_READER_CALLBACKS_H 00014 #define OTF2_SNAP_READER_CALLBACKS_H 00015 00016 00025 #include <stdint.h> 00026 00027 00028 #include <otf2/OTF2_ErrorCodes.h> 00029 00030 00031 #include <otf2/OTF2_GeneralDefinitions.h> 00032 #include <otf2/OTF2_AttributeList.h> 00033 #include <otf2/OTF2_Events.h> 00034 00035 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif /* __cplusplus */ 00039 00040 00045 typedef struct OTF2_SnapReaderCallbacks_struct OTF2_SnapReaderCallbacks; 00046 00047 00054 OTF2_SnapReaderCallbacks* 00055 OTF2_SnapReaderCallbacks_New( void ); 00056 00057 00065 void 00066 OTF2_SnapReaderCallbacks_Delete( OTF2_SnapReaderCallbacks* snapReaderCallbacks ); 00067 00068 00076 void 00077 OTF2_SnapReaderCallbacks_Clear( OTF2_SnapReaderCallbacks* snapReaderCallbacks ); 00078 00079 00093 typedef OTF2_CallbackCode 00094 ( *OTF2_SnapReaderCallback_Unknown )( OTF2_LocationRef location, 00095 OTF2_TimeStamp snapTime, 00096 void* userData, 00097 OTF2_AttributeList* attributeList ); 00098 00099 00114 OTF2_ErrorCode 00115 OTF2_SnapReaderCallbacks_SetUnknownCallback( 00116 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00117 OTF2_SnapReaderCallback_Unknown unknownCallback ); 00118 00119 00146 typedef OTF2_CallbackCode 00147 ( *OTF2_SnapReaderCallback_SnapshotStart )( OTF2_LocationRef location, 00148 OTF2_TimeStamp snapTime, 00149 void* userData, 00150 OTF2_AttributeList* attributeList, 00151 uint64_t numberOfRecords ); 00152 00153 00168 OTF2_ErrorCode 00169 OTF2_SnapReaderCallbacks_SetSnapshotStartCallback( 00170 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00171 OTF2_SnapReaderCallback_SnapshotStart snapshotStartCallback ); 00172 00173 00193 typedef OTF2_CallbackCode 00194 ( *OTF2_SnapReaderCallback_SnapshotEnd )( OTF2_LocationRef location, 00195 OTF2_TimeStamp snapTime, 00196 void* userData, 00197 OTF2_AttributeList* attributeList, 00198 uint64_t contReadPos ); 00199 00200 00215 OTF2_ErrorCode 00216 OTF2_SnapReaderCallbacks_SetSnapshotEndCallback( 00217 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00218 OTF2_SnapReaderCallback_SnapshotEnd snapshotEndCallback ); 00219 00220 00242 typedef OTF2_CallbackCode 00243 ( *OTF2_SnapReaderCallback_MeasurementOnOff )( OTF2_LocationRef location, 00244 OTF2_TimeStamp snapTime, 00245 void* userData, 00246 OTF2_AttributeList* attributeList, 00247 OTF2_TimeStamp origEventTime, 00248 OTF2_MeasurementMode measurementMode ); 00249 00250 00265 OTF2_ErrorCode 00266 OTF2_SnapReaderCallbacks_SetMeasurementOnOffCallback( 00267 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00268 OTF2_SnapReaderCallback_MeasurementOnOff measurementOnOffCallback ); 00269 00270 00293 typedef OTF2_CallbackCode 00294 ( *OTF2_SnapReaderCallback_Enter )( OTF2_LocationRef location, 00295 OTF2_TimeStamp snapTime, 00296 void* userData, 00297 OTF2_AttributeList* attributeList, 00298 OTF2_TimeStamp origEventTime, 00299 OTF2_RegionRef region ); 00300 00301 00316 OTF2_ErrorCode 00317 OTF2_SnapReaderCallbacks_SetEnterCallback( 00318 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00319 OTF2_SnapReaderCallback_Enter enterCallback ); 00320 00321 00351 typedef OTF2_CallbackCode 00352 ( *OTF2_SnapReaderCallback_MpiSend )( OTF2_LocationRef location, 00353 OTF2_TimeStamp snapTime, 00354 void* userData, 00355 OTF2_AttributeList* attributeList, 00356 OTF2_TimeStamp origEventTime, 00357 uint32_t receiver, 00358 OTF2_CommRef communicator, 00359 uint32_t msgTag, 00360 uint64_t msgLength ); 00361 00362 00377 OTF2_ErrorCode 00378 OTF2_SnapReaderCallbacks_SetMpiSendCallback( 00379 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00380 OTF2_SnapReaderCallback_MpiSend mpiSendCallback ); 00381 00382 00414 typedef OTF2_CallbackCode 00415 ( *OTF2_SnapReaderCallback_MpiIsend )( OTF2_LocationRef location, 00416 OTF2_TimeStamp snapTime, 00417 void* userData, 00418 OTF2_AttributeList* attributeList, 00419 OTF2_TimeStamp origEventTime, 00420 uint32_t receiver, 00421 OTF2_CommRef communicator, 00422 uint32_t msgTag, 00423 uint64_t msgLength, 00424 uint64_t requestID ); 00425 00426 00441 OTF2_ErrorCode 00442 OTF2_SnapReaderCallbacks_SetMpiIsendCallback( 00443 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00444 OTF2_SnapReaderCallback_MpiIsend mpiIsendCallback ); 00445 00446 00469 typedef OTF2_CallbackCode 00470 ( *OTF2_SnapReaderCallback_MpiIsendComplete )( OTF2_LocationRef location, 00471 OTF2_TimeStamp snapTime, 00472 void* userData, 00473 OTF2_AttributeList* attributeList, 00474 OTF2_TimeStamp origEventTime, 00475 uint64_t requestID ); 00476 00477 00492 OTF2_ErrorCode 00493 OTF2_SnapReaderCallbacks_SetMpiIsendCompleteCallback( 00494 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00495 OTF2_SnapReaderCallback_MpiIsendComplete mpiIsendCompleteCallback ); 00496 00497 00528 typedef OTF2_CallbackCode 00529 ( *OTF2_SnapReaderCallback_MpiRecv )( OTF2_LocationRef location, 00530 OTF2_TimeStamp snapTime, 00531 void* userData, 00532 OTF2_AttributeList* attributeList, 00533 OTF2_TimeStamp origEventTime, 00534 uint32_t sender, 00535 OTF2_CommRef communicator, 00536 uint32_t msgTag, 00537 uint64_t msgLength ); 00538 00539 00554 OTF2_ErrorCode 00555 OTF2_SnapReaderCallbacks_SetMpiRecvCallback( 00556 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00557 OTF2_SnapReaderCallback_MpiRecv mpiRecvCallback ); 00558 00559 00585 typedef OTF2_CallbackCode 00586 ( *OTF2_SnapReaderCallback_MpiIrecvRequest )( OTF2_LocationRef location, 00587 OTF2_TimeStamp snapTime, 00588 void* userData, 00589 OTF2_AttributeList* attributeList, 00590 OTF2_TimeStamp origEventTime, 00591 uint64_t requestID ); 00592 00593 00608 OTF2_ErrorCode 00609 OTF2_SnapReaderCallbacks_SetMpiIrecvRequestCallback( 00610 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00611 OTF2_SnapReaderCallback_MpiIrecvRequest mpiIrecvRequestCallback ); 00612 00613 00645 typedef OTF2_CallbackCode 00646 ( *OTF2_SnapReaderCallback_MpiIrecv )( OTF2_LocationRef location, 00647 OTF2_TimeStamp snapTime, 00648 void* userData, 00649 OTF2_AttributeList* attributeList, 00650 OTF2_TimeStamp origEventTime, 00651 uint32_t sender, 00652 OTF2_CommRef communicator, 00653 uint32_t msgTag, 00654 uint64_t msgLength, 00655 uint64_t requestID ); 00656 00657 00672 OTF2_ErrorCode 00673 OTF2_SnapReaderCallbacks_SetMpiIrecvCallback( 00674 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00675 OTF2_SnapReaderCallback_MpiIrecv mpiIrecvCallback ); 00676 00677 00697 typedef OTF2_CallbackCode 00698 ( *OTF2_SnapReaderCallback_MpiCollectiveBegin )( OTF2_LocationRef location, 00699 OTF2_TimeStamp snapTime, 00700 void* userData, 00701 OTF2_AttributeList* attributeList, 00702 OTF2_TimeStamp origEventTime ); 00703 00704 00719 OTF2_ErrorCode 00720 OTF2_SnapReaderCallbacks_SetMpiCollectiveBeginCallback( 00721 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00722 OTF2_SnapReaderCallback_MpiCollectiveBegin mpiCollectiveBeginCallback ); 00723 00724 00752 typedef OTF2_CallbackCode 00753 ( *OTF2_SnapReaderCallback_MpiCollectiveEnd )( OTF2_LocationRef location, 00754 OTF2_TimeStamp snapTime, 00755 void* userData, 00756 OTF2_AttributeList* attributeList, 00757 OTF2_TimeStamp origEventTime, 00758 OTF2_CollectiveOp collectiveOp, 00759 OTF2_CommRef communicator, 00760 uint32_t root, 00761 uint64_t sizeSent, 00762 uint64_t sizeReceived ); 00763 00764 00779 OTF2_ErrorCode 00780 OTF2_SnapReaderCallbacks_SetMpiCollectiveEndCallback( 00781 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00782 OTF2_SnapReaderCallback_MpiCollectiveEnd mpiCollectiveEndCallback ); 00783 00784 00805 typedef OTF2_CallbackCode 00806 ( *OTF2_SnapReaderCallback_OmpFork )( OTF2_LocationRef location, 00807 OTF2_TimeStamp snapTime, 00808 void* userData, 00809 OTF2_AttributeList* attributeList, 00810 OTF2_TimeStamp origEventTime, 00811 uint32_t numberOfRequestedThreads ); 00812 00813 00828 OTF2_ErrorCode 00829 OTF2_SnapReaderCallbacks_SetOmpForkCallback( 00830 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00831 OTF2_SnapReaderCallback_OmpFork ompForkCallback ); 00832 00833 00859 typedef OTF2_CallbackCode 00860 ( *OTF2_SnapReaderCallback_OmpAcquireLock )( OTF2_LocationRef location, 00861 OTF2_TimeStamp snapTime, 00862 void* userData, 00863 OTF2_AttributeList* attributeList, 00864 OTF2_TimeStamp origEventTime, 00865 uint32_t lockID, 00866 uint32_t acquisitionOrder ); 00867 00868 00883 OTF2_ErrorCode 00884 OTF2_SnapReaderCallbacks_SetOmpAcquireLockCallback( 00885 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00886 OTF2_SnapReaderCallback_OmpAcquireLock ompAcquireLockCallback ); 00887 00888 00910 typedef OTF2_CallbackCode 00911 ( *OTF2_SnapReaderCallback_OmpTaskCreate )( OTF2_LocationRef location, 00912 OTF2_TimeStamp snapTime, 00913 void* userData, 00914 OTF2_AttributeList* attributeList, 00915 OTF2_TimeStamp origEventTime, 00916 uint64_t taskID ); 00917 00918 00933 OTF2_ErrorCode 00934 OTF2_SnapReaderCallbacks_SetOmpTaskCreateCallback( 00935 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00936 OTF2_SnapReaderCallback_OmpTaskCreate ompTaskCreateCallback ); 00937 00938 00960 typedef OTF2_CallbackCode 00961 ( *OTF2_SnapReaderCallback_OmpTaskSwitch )( OTF2_LocationRef location, 00962 OTF2_TimeStamp snapTime, 00963 void* userData, 00964 OTF2_AttributeList* attributeList, 00965 OTF2_TimeStamp origEventTime, 00966 uint64_t taskID ); 00967 00968 00983 OTF2_ErrorCode 00984 OTF2_SnapReaderCallbacks_SetOmpTaskSwitchCallback( 00985 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 00986 OTF2_SnapReaderCallback_OmpTaskSwitch ompTaskSwitchCallback ); 00987 00988 01020 typedef OTF2_CallbackCode 01021 ( *OTF2_SnapReaderCallback_Metric )( OTF2_LocationRef location, 01022 OTF2_TimeStamp snapTime, 01023 void* userData, 01024 OTF2_AttributeList* attributeList, 01025 OTF2_TimeStamp origEventTime, 01026 OTF2_MetricRef metric, 01027 uint8_t numberOfMetrics, 01028 const OTF2_Type* typeIDs, 01029 const OTF2_MetricValue* metricValues ); 01030 01031 01046 OTF2_ErrorCode 01047 OTF2_SnapReaderCallbacks_SetMetricCallback( 01048 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01049 OTF2_SnapReaderCallback_Metric metricCallback ); 01050 01051 01079 typedef OTF2_CallbackCode 01080 ( *OTF2_SnapReaderCallback_ParameterString )( OTF2_LocationRef location, 01081 OTF2_TimeStamp snapTime, 01082 void* userData, 01083 OTF2_AttributeList* attributeList, 01084 OTF2_TimeStamp origEventTime, 01085 OTF2_ParameterRef parameter, 01086 OTF2_StringRef string ); 01087 01088 01103 OTF2_ErrorCode 01104 OTF2_SnapReaderCallbacks_SetParameterStringCallback( 01105 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01106 OTF2_SnapReaderCallback_ParameterString parameterStringCallback ); 01107 01108 01133 typedef OTF2_CallbackCode 01134 ( *OTF2_SnapReaderCallback_ParameterInt )( OTF2_LocationRef location, 01135 OTF2_TimeStamp snapTime, 01136 void* userData, 01137 OTF2_AttributeList* attributeList, 01138 OTF2_TimeStamp origEventTime, 01139 OTF2_ParameterRef parameter, 01140 int64_t value ); 01141 01142 01157 OTF2_ErrorCode 01158 OTF2_SnapReaderCallbacks_SetParameterIntCallback( 01159 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01160 OTF2_SnapReaderCallback_ParameterInt parameterIntCallback ); 01161 01162 01187 typedef OTF2_CallbackCode 01188 ( *OTF2_SnapReaderCallback_ParameterUnsignedInt )( OTF2_LocationRef location, 01189 OTF2_TimeStamp snapTime, 01190 void* userData, 01191 OTF2_AttributeList* attributeList, 01192 OTF2_TimeStamp origEventTime, 01193 OTF2_ParameterRef parameter, 01194 uint64_t value ); 01195 01196 01211 OTF2_ErrorCode 01212 OTF2_SnapReaderCallbacks_SetParameterUnsignedIntCallback( 01213 OTF2_SnapReaderCallbacks* snapReaderCallbacks, 01214 OTF2_SnapReaderCallback_ParameterUnsignedInt parameterUnsignedIntCallback ); 01215 01216 01217 #ifdef __cplusplus 01218 } 01219 #endif /* __cplusplus */ 01220 01221 01222 #endif /* !OTF2_SNAP_READER_CALLBACKS_H */