2.2 (revision 4737)
OTF2_Reader.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Score-P software (http://www.score-p.org)
3  *
4  * Copyright (c) 2009-2013,
5  * RWTH Aachen University, Germany
6  *
7  * Copyright (c) 2009-2013,
8  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
9  *
10  * Copyright (c) 2009-2014,
11  * Technische Universitaet Dresden, Germany
12  *
13  * Copyright (c) 2009-2013,
14  * University of Oregon, Eugene, USA
15  *
16  * Copyright (c) 2009-2014,
17  * Forschungszentrum Juelich GmbH, Germany
18  *
19  * Copyright (c) 2009-2013,
20  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
21  *
22  * Copyright (c) 2009-2013,
23  * Technische Universitaet Muenchen, Germany
24  *
25  * This software may be modified and distributed under the terms of
26  * a BSD-style license. See the COPYING file in the package base
27  * directory for details.
28  *
29  */
30 
31 
32 #ifndef OTF2_READER_H
33 #define OTF2_READER_H
34 
35 
175 #include <stdint.h>
176 
177 
178 #include <otf2/OTF2_ErrorCodes.h>
179 
180 
181 #include <otf2/OTF2_Archive.h>
182 
183 
184 #ifdef __cplusplus
185 extern "C" {
186 #endif /* __cplusplus */
187 
188 
190 typedef struct OTF2_Reader_struct OTF2_Reader;
191 
192 
205 OTF2_Reader_Open( const char* anchorFilePath );
206 
207 
218 OTF2_Reader_Close( OTF2_Reader* reader );
219 
220 
248  OTF2_Hint hint,
249  void* value );
250 
251 
272  const OTF2_CollectiveCallbacks* collectiveCallbacks,
273  void* collectiveData,
274  OTF2_CollectiveContext* globalCommContext,
275  OTF2_CollectiveContext* localCommContext );
276 
277 
287 
288 
310  const OTF2_LockingCallbacks* lockingCallbacks,
311  void* lockingData );
312 
313 
325  OTF2_EvtReader* evtReader,
326  const OTF2_EvtReaderCallbacks* callbacks,
327  void* userData );
328 
329 
342  OTF2_GlobalEvtReader* evtReader,
343  const OTF2_GlobalEvtReaderCallbacks* callbacks,
344  void* userData );
345 
346 
358  OTF2_DefReader* defReader,
359  const OTF2_DefReaderCallbacks* callbacks,
360  void* userData );
361 
362 
374  OTF2_GlobalDefReader* defReader,
375  const OTF2_GlobalDefReaderCallbacks* callbacks,
376  void* userData );
377 
378 
392  OTF2_SnapReader* snapReader,
393  const OTF2_SnapReaderCallbacks* callbacks,
394  void* userData );
395 
396 
411  OTF2_GlobalSnapReader* evtReader,
412  const OTF2_GlobalSnapReaderCallbacks* callbacks,
413  void* userData );
414 
415 
429  OTF2_MarkerReader* markerReader,
430  const OTF2_MarkerReaderCallbacks* callbacks,
431  void* userData );
432 
433 
445  OTF2_EvtReader* evtReader,
446  uint64_t eventsToRead,
447  uint64_t* eventsRead );
448 
449 
460  OTF2_EvtReader* evtReader,
461  uint64_t* eventsRead );
462 
463 
475  OTF2_EvtReader* evtReader,
476  uint64_t eventsToRead,
477  uint64_t* eventsRead );
478 
479 
489  OTF2_GlobalEvtReader* evtReader );
490 
491 
504  OTF2_GlobalEvtReader* evtReader,
505  int* flag );
506 
507 
519  OTF2_GlobalEvtReader* evtReader,
520  uint64_t eventsToRead,
521  uint64_t* eventsRead );
522 
523 
534  OTF2_GlobalEvtReader* evtReader,
535  uint64_t* eventsRead );
536 
537 
557  OTF2_DefReader* defReader,
558  uint64_t definitionsToRead,
559  uint64_t* definitionsRead );
560 
561 
580  OTF2_DefReader* defReader,
581  uint64_t* definitionsRead );
582 
583 
596  OTF2_GlobalDefReader* defReader,
597  uint64_t definitionsToRead,
598  uint64_t* definitionsRead );
599 
600 
612  OTF2_GlobalDefReader* defReader,
613  uint64_t* definitionsRead );
614 
615 
629  OTF2_SnapReader* snapReader,
630  uint64_t recordsToRead,
631  uint64_t* recordsRead );
632 
633 
646  OTF2_SnapReader* snapReader,
647  uint64_t* recordsRead );
648 
649 
664  OTF2_GlobalSnapReader* snapReader,
665  uint64_t recordsToRead,
666  uint64_t* recordsRead );
667 
668 
681  OTF2_GlobalSnapReader* snapReader,
682  uint64_t* recordsRead );
683 
684 
699  OTF2_MarkerReader* markerReader,
700  uint64_t markersToRead,
701  uint64_t* markersRead );
702 
703 
717  OTF2_MarkerReader* markerReader,
718  uint64_t* markersRead );
719 
720 
731  OTF2_LocationRef location );
732 
733 
743 
744 
755  OTF2_LocationRef location );
756 
757 
767 
768 
780  OTF2_LocationRef location );
781 
782 
793 
794 
807  uint32_t number );
808 
809 
821 
822 
834 
835 
845  OTF2_EvtReader* evtReader );
846 
847 
859  OTF2_GlobalEvtReader* globalEvtReader );
860 
861 
871  OTF2_DefReader* defReader );
872 
873 
883  OTF2_GlobalDefReader* globalDefReader );
884 
885 
897  OTF2_SnapReader* snapReader );
898 
899 
911  OTF2_GlobalSnapReader* globalSnapReader );
912 
913 
925  OTF2_ThumbReader* thumbReader );
926 
927 
939  OTF2_MarkerReader* markerReader );
940 
941 
953  OTF2_MarkerWriter* markerWriter );
954 
955 
967  uint8_t* major,
968  uint8_t* minor,
969  uint8_t* bugfix );
970 
971 
982  uint64_t* chunkSizeEvents,
983  uint64_t* chunkSizeDefinitions );
984 
985 
995  OTF2_FileSubstrate* substrate );
996 
997 
1007  OTF2_Compression* compression );
1008 
1009 
1019  uint64_t* numberOfLocations );
1020 
1021 
1031  uint64_t* numberOfDefinitions );
1032 
1033 
1043  char** machineName );
1044 
1045 
1055  char** creator );
1056 
1057 
1067  char** description );
1068 
1069 
1082  uint32_t* numberOfProperties,
1083  char*** names );
1084 
1085 
1101  const char* name,
1102  char** value );
1103 
1104 
1121  const char* name,
1122  bool* value );
1123 
1124 
1134  uint64_t* id );
1135 
1136 
1148  uint32_t* number );
1149 
1150 
1162  uint32_t* number );
1163 
1164 
1178 
1179 
1195 
1196 
1210 
1211 
1227 
1228 
1242 
1243 
1259 
1260 
1273  OTF2_LocationRef location );
1274 
1275 
1286  bool* result );
1287 
1288 
1289 
1290 #ifdef __cplusplus
1291 }
1292 #endif /* __cplusplus */
1293 
1294 
1295 #endif /* !OTF2_READER_H */
OTF2_ErrorCode OTF2_Reader_RegisterGlobalSnapCallbacks(OTF2_Reader *reader, OTF2_GlobalSnapReader *evtReader, const OTF2_GlobalSnapReaderCallbacks *callbacks, void *userData)
Register global event reader callbacks.
OTF2_ErrorCode OTF2_Reader_CloseMarkerReader(OTF2_Reader *reader, OTF2_MarkerReader *markerReader)
Closes the marker reader.
struct OTF2_MarkerReader_struct OTF2_MarkerReader
OTF2 marker reader handle.
Definition: OTF2_GeneralDefinitions.h:268
OTF2_ErrorCode OTF2_Reader_CloseSnapFiles(OTF2_Reader *reader)
Closes the snapshots file container.
OTF2_ErrorCode OTF2_Reader_CloseGlobalSnapReader(OTF2_Reader *reader, OTF2_GlobalSnapReader *globalSnapReader)
Closes the global snapshot reader.
struct OTF2_GlobalDefReaderCallbacks_struct OTF2_GlobalDefReaderCallbacks
Opaque struct which holds all global definition record callbacks.
Definition: OTF2_GlobalDefReaderCallbacks.h:62
OTF2_ErrorCode OTF2_Reader_HasGlobalEvent(OTF2_Reader *reader, OTF2_GlobalEvtReader *evtReader, int *flag)
Has the global event reader at least one more event to deliver.
struct OTF2_GlobalDefReader_struct OTF2_GlobalDefReader
OTF2 global definition reader handle.
Definition: OTF2_GeneralDefinitions.h:256
OTF2_ErrorCode OTF2_Reader_ReadMarkers(OTF2_Reader *reader, OTF2_MarkerReader *markerReader, uint64_t markersToRead, uint64_t *markersRead)
Read a given number of markers via a marker reader.
struct OTF2_GlobalSnapReaderCallbacks_struct OTF2_GlobalSnapReaderCallbacks
Opaque struct which holds all snap record callbacks.
Definition: OTF2_GlobalSnapReaderCallbacks.h:45
OTF2_ErrorCode OTF2_Reader_SetSerialCollectiveCallbacks(OTF2_Reader *reader)
Convenient function to set the collective callbacks to a serial implementation.
OTF2_ErrorCode OTF2_Reader_GetBoolProperty(OTF2_Reader *reader, const char *name, bool *value)
Get the value of the named trace file property as boolean.
OTF2_GlobalSnapReader * OTF2_Reader_GetGlobalSnapReader(OTF2_Reader *reader)
Get a global snap reader.
uint64_t OTF2_LocationRef
Type used to indicate a reference to a Location definition.
Definition: OTF2_GeneralDefinitions.h:139
OTF2_ErrorCode OTF2_Reader_ReadAllLocalDefinitions(OTF2_Reader *reader, OTF2_DefReader *defReader, uint64_t *definitionsRead)
Read all definitions via a local definition reader.
OTF2_ErrorCode OTF2_Reader_IsMaster(OTF2_Reader *reader, bool *result)
Determines if this reader is the master object which handles the global archive state (anchor file...
struct OTF2_GlobalEvtReaderCallbacks_struct OTF2_GlobalEvtReaderCallbacks
Opaque struct which holds all event record callbacks.
Definition: OTF2_GlobalEvtReaderCallbacks.h:62
OTF2_Reader * OTF2_Reader_Open(const char *anchorFilePath)
Create a new reader handle.
OTF2_ErrorCode OTF2_Reader_ReadLocalEvents(OTF2_Reader *reader, OTF2_EvtReader *evtReader, uint64_t eventsToRead, uint64_t *eventsRead)
Read a given number of events via a local event reader.
OTF2_EvtReader * OTF2_Reader_GetEvtReader(OTF2_Reader *reader, OTF2_LocationRef location)
Get a local event reader.
OTF2_ErrorCode OTF2_Reader_CloseMarkerWriter(OTF2_Reader *reader, OTF2_MarkerWriter *markerWriter)
Closes the marker writer.
OTF2_ErrorCode OTF2_Reader_GetMachineName(OTF2_Reader *reader, char **machineName)
Get machine name.
OTF2_MarkerReader * OTF2_Reader_GetMarkerReader(OTF2_Reader *reader)
Get a marker reader.
OTF2_ErrorCode OTF2_Reader_CloseDefFiles(OTF2_Reader *reader)
Closes the local definitions file container.
OTF2_ErrorCode OTF2_Reader_ReadGlobalSnapshots(OTF2_Reader *reader, OTF2_GlobalSnapReader *snapReader, uint64_t recordsToRead, uint64_t *recordsRead)
Read a given number of records via a global snapshot reader.
OTF2_ErrorCode OTF2_Reader_RegisterSnapCallbacks(OTF2_Reader *reader, OTF2_SnapReader *snapReader, const OTF2_SnapReaderCallbacks *callbacks, void *userData)
Register snapshot event reader callbacks.
OTF2_GlobalEvtReader * OTF2_Reader_GetGlobalEvtReader(OTF2_Reader *reader)
Get a global event reader.
uint8_t OTF2_Hint
Wrapper for enum OTF2_Hint_enum.
Definition: OTF2_GeneralDefinitions.h:381
OTF2_GlobalDefReader * OTF2_Reader_GetGlobalDefReader(OTF2_Reader *reader)
Get a global definition reader.
OTF2_ErrorCode OTF2_Reader_RegisterGlobalEvtCallbacks(OTF2_Reader *reader, OTF2_GlobalEvtReader *evtReader, const OTF2_GlobalEvtReaderCallbacks *callbacks, void *userData)
Register global event reader callbacks.
Struct which holds all collective callbacks.
Definition: OTF2_Callbacks.h:490
struct OTF2_ThumbReader_struct OTF2_ThumbReader
Keeps all necessary information about the event reader. See OTF2_ThumbReader_struct for detailed info...
Definition: OTF2_Thumbnail.h:43
OTF2_ErrorCode OTF2_Reader_RegisterGlobalDefCallbacks(OTF2_Reader *reader, OTF2_GlobalDefReader *defReader, const OTF2_GlobalDefReaderCallbacks *callbacks, void *userData)
Register global definition reader callbacks.
OTF2_ErrorCode OTF2_Reader_GetFileSubstrate(OTF2_Reader *reader, OTF2_FileSubstrate *substrate)
Get file substrate information.
OTF2_DefReader * OTF2_Reader_GetDefReader(OTF2_Reader *reader, OTF2_LocationRef location)
Get a local definition reader.
OTF2_ErrorCode OTF2_Reader_SetCollectiveCallbacks(OTF2_Reader *reader, const OTF2_CollectiveCallbacks *collectiveCallbacks, void *collectiveData, OTF2_CollectiveContext *globalCommContext, OTF2_CollectiveContext *localCommContext)
Set the collective callbacks for the reader.
OTF2_ErrorCode
Definition: OTF2_ErrorCodes.h:54
OTF2_ErrorCode OTF2_Reader_CloseGlobalEvtReader(OTF2_Reader *reader, OTF2_GlobalEvtReader *globalEvtReader)
Closes the global event reader.
OTF2_ErrorCode OTF2_Reader_SetHint(OTF2_Reader *reader, OTF2_Hint hint, void *value)
Set the hint in the reader to the given value.
OTF2_ErrorCode OTF2_Reader_CloseEvtReader(OTF2_Reader *reader, OTF2_EvtReader *evtReader)
Close a local event reader.
OTF2_ErrorCode OTF2_Reader_ReadGlobalEvent(OTF2_Reader *reader, OTF2_GlobalEvtReader *evtReader)
Read an event via a global event reader.
OTF2_ErrorCode OTF2_Reader_RegisterDefCallbacks(OTF2_Reader *reader, OTF2_DefReader *defReader, const OTF2_DefReaderCallbacks *callbacks, void *userData)
Register local definition reader callbacks.
OTF2_ErrorCode OTF2_Reader_CloseSnapReader(OTF2_Reader *reader, OTF2_SnapReader *snapReader)
Close a local snapshot reader.
OTF2_ErrorCode OTF2_Reader_RegisterEvtCallbacks(OTF2_Reader *reader, OTF2_EvtReader *evtReader, const OTF2_EvtReaderCallbacks *callbacks, void *userData)
Register event reader callbacks.
OTF2_ErrorCode OTF2_Reader_OpenEvtFiles(OTF2_Reader *reader)
Open the events file container.
OTF2_ErrorCode OTF2_Reader_ReadAllGlobalEvents(OTF2_Reader *reader, OTF2_GlobalEvtReader *evtReader, uint64_t *eventsRead)
Read all events via a global event reader.
OTF2_ErrorCode OTF2_Reader_GetCreator(OTF2_Reader *reader, char **creator)
Get creator name.
struct OTF2_DefReaderCallbacks_struct OTF2_DefReaderCallbacks
Opaque struct which holds all definition record callbacks.
Definition: OTF2_DefReaderCallbacks.h:62
OTF2_ErrorCode OTF2_Reader_ReadAllMarkers(OTF2_Reader *reader, OTF2_MarkerReader *markerReader, uint64_t *markersRead)
Read all markers via a marker reader.
OTF2_ErrorCode OTF2_Reader_GetProperty(OTF2_Reader *reader, const char *name, char **value)
Get the value of the named trace file property.
OTF2_ErrorCode OTF2_Reader_GetNumberOfSnapshots(OTF2_Reader *reader, uint32_t *number)
Get number of snapshots.
struct OTF2_MarkerWriter_struct OTF2_MarkerWriter
Handle definition for the external marker writer.
Definition: OTF2_MarkerWriter.h:42
OTF2_SnapReader * OTF2_Reader_GetSnapReader(OTF2_Reader *reader, OTF2_LocationRef location)
Get a local snapshot reader.
OTF2_ErrorCode OTF2_Reader_RegisterMarkerCallbacks(OTF2_Reader *reader, OTF2_MarkerReader *markerReader, const OTF2_MarkerReaderCallbacks *callbacks, void *userData)
Register marker reader callbacks.
OTF2_MarkerWriter * OTF2_Reader_GetMarkerWriter(OTF2_Reader *reader)
Get a marker writer.
OTF2_ErrorCode OTF2_Reader_ReadGlobalEvents(OTF2_Reader *reader, OTF2_GlobalEvtReader *evtReader, uint64_t eventsToRead, uint64_t *eventsRead)
Read a given number of events via a global event reader.
struct OTF2_SnapReader_struct OTF2_SnapReader
OTF2 local snap reader handle.
Definition: OTF2_GeneralDefinitions.h:260
struct OTF2_GlobalSnapReader_struct OTF2_GlobalSnapReader
OTF2 global snap reader handle.
Definition: OTF2_GeneralDefinitions.h:264
struct OTF2_Reader_struct OTF2_Reader
Keeps all necessary information for the reader.
Definition: OTF2_Reader.h:190
OTF2_ErrorCode OTF2_Reader_ReadGlobalDefinitions(OTF2_Reader *reader, OTF2_GlobalDefReader *defReader, uint64_t definitionsToRead, uint64_t *definitionsRead)
Read a given number of definitions via a global definition reader.
OTF2_ErrorCode OTF2_Reader_Close(OTF2_Reader *reader)
Close a reader handle.
OTF2_ErrorCode OTF2_Reader_GetCompression(OTF2_Reader *reader, OTF2_Compression *compression)
Get compression mode.
OTF2_ErrorCode OTF2_Reader_CloseGlobalDefReader(OTF2_Reader *reader, OTF2_GlobalDefReader *globalDefReader)
Closes the global definition reader.
struct OTF2_DefReader_struct OTF2_DefReader
OTF2 local definition reader handle.
Definition: OTF2_GeneralDefinitions.h:252
OTF2_ErrorCode OTF2_Reader_CloseEvtFiles(OTF2_Reader *reader)
Closes the events file container.
Struct which holds all locking callbacks.
Definition: OTF2_Callbacks.h:636
OTF2_ErrorCode OTF2_Reader_GetDescription(OTF2_Reader *reader, char **description)
Get description.
OTF2_ErrorCode OTF2_Reader_GetChunkSize(OTF2_Reader *reader, uint64_t *chunkSizeEvents, uint64_t *chunkSizeDefinitions)
Get event and definition chunk sizes.
OTF2_ErrorCode OTF2_Reader_ReadLocalSnapshots(OTF2_Reader *reader, OTF2_SnapReader *snapReader, uint64_t recordsToRead, uint64_t *recordsRead)
Read a given number of records via a local snapshot reader.
struct OTF2_MarkerReaderCallbacks_struct OTF2_MarkerReaderCallbacks
Opaque struct which holds all definition record callbacks.
Definition: OTF2_MarkerReaderCallbacks.h:45
OTF2_ErrorCode OTF2_Reader_SelectLocation(OTF2_Reader *reader, OTF2_LocationRef location)
Select a location to be read.
Writing interface for OTF2 archives.
uint8_t OTF2_FileSubstrate
Wrapper for enum OTF2_FileSubstrate_enum.
Definition: OTF2_GeneralDefinitions.h:464
uint8_t OTF2_Compression
Defines which compression is used. Please see OTF2_Compression_enum for a detailed description...
Definition: OTF2_GeneralDefinitions.h:301
OTF2_ErrorCode OTF2_Reader_ReadLocalDefinitions(OTF2_Reader *reader, OTF2_DefReader *defReader, uint64_t definitionsToRead, uint64_t *definitionsRead)
Read a given number of definitions via a local definition reader.
OTF2_ErrorCode OTF2_Reader_ReadAllLocalSnapshots(OTF2_Reader *reader, OTF2_SnapReader *snapReader, uint64_t *recordsRead)
Read all records via a local snapshot reader.
OTF2_ErrorCode OTF2_Reader_ReadAllLocalEvents(OTF2_Reader *reader, OTF2_EvtReader *evtReader, uint64_t *eventsRead)
Read all events via a local event reader.
OTF2_ErrorCode OTF2_Reader_GetPropertyNames(OTF2_Reader *reader, uint32_t *numberOfProperties, char ***names)
Get the names of all trace file properties.
OTF2_ErrorCode OTF2_Reader_OpenSnapFiles(OTF2_Reader *reader)
Open the snapshots file container.
OTF2_ErrorCode OTF2_Reader_GetNumberOfLocations(OTF2_Reader *reader, uint64_t *numberOfLocations)
Get number of locations.
OTF2_ErrorCode OTF2_Reader_ReadLocalEventsBackward(OTF2_Reader *reader, OTF2_EvtReader *evtReader, uint64_t eventsToRead, uint64_t *eventsRead)
Read a given number of events via a local event reader backwards.
struct OTF2_CollectiveContext OTF2_CollectiveContext
User provided type for collective groups.
Definition: OTF2_Callbacks.h:303
OTF2_ErrorCode OTF2_Reader_ReadAllGlobalDefinitions(OTF2_Reader *reader, OTF2_GlobalDefReader *defReader, uint64_t *definitionsRead)
Read all definitions via a global definition reader.
OTF2_ErrorCode OTF2_Reader_GetTraceId(OTF2_Reader *reader, uint64_t *id)
Get the identifier of the trace file.
struct OTF2_SnapReaderCallbacks_struct OTF2_SnapReaderCallbacks
Opaque struct which holds all snap event record callbacks.
Definition: OTF2_SnapReaderCallbacks.h:45
OTF2_ErrorCode OTF2_Reader_GetNumberOfGlobalDefinitions(OTF2_Reader *reader, uint64_t *numberOfDefinitions)
Get number of global definitions.
OTF2_ErrorCode OTF2_Reader_GetVersion(OTF2_Reader *reader, uint8_t *major, uint8_t *minor, uint8_t *bugfix)
Get OTF2 version.
OTF2_ThumbReader * OTF2_Reader_GetThumbReader(OTF2_Reader *reader, uint32_t number)
Get a thumb reader.
Error codes and error handling.
OTF2_ErrorCode OTF2_Reader_OpenDefFiles(OTF2_Reader *reader)
Open the local definitions file container.
OTF2_ErrorCode OTF2_Reader_CloseDefReader(OTF2_Reader *reader, OTF2_DefReader *defReader)
Close a local definition reader.
OTF2_ErrorCode OTF2_Reader_CloseThumbReader(OTF2_Reader *reader, OTF2_ThumbReader *thumbReader)
Close an opened thumbnail reader.
OTF2_ErrorCode OTF2_Reader_GetNumberOfThumbnails(OTF2_Reader *reader, uint32_t *number)
Get number of thumbs.
struct OTF2_EvtReader_struct OTF2_EvtReader
OTF2 local event reader handle.
Definition: OTF2_GeneralDefinitions.h:244
struct OTF2_EvtReaderCallbacks_struct OTF2_EvtReaderCallbacks
Opaque struct which holds all event record callbacks.
Definition: OTF2_EvtReaderCallbacks.h:62
struct OTF2_GlobalEvtReader_struct OTF2_GlobalEvtReader
OTF2 global event reader handle.
Definition: OTF2_GeneralDefinitions.h:248
OTF2_ErrorCode OTF2_Reader_ReadAllGlobalSnapshots(OTF2_Reader *reader, OTF2_GlobalSnapReader *snapReader, uint64_t *recordsRead)
Read all records via a global snapshot reader.
OTF2_ErrorCode OTF2_Reader_SetLockingCallbacks(OTF2_Reader *reader, const OTF2_LockingCallbacks *lockingCallbacks, void *lockingData)
Set the locking callbacks for the reader.