2.0 (revision 4408)
OTF2_DefWriter.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-2012,
5  * RWTH Aachen University, Germany
6  *
7  * Copyright (c) 2009-2012,
8  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
9  *
10  * Copyright (c) 2009-2012, 2014,
11  * Technische Universitaet Dresden, Germany
12  *
13  * Copyright (c) 2009-2012,
14  * University of Oregon, Eugene, USA
15  *
16  * Copyright (c) 2009-2012,
17  * Forschungszentrum Juelich GmbH, Germany
18  *
19  * Copyright (c) 2009-2012,
20  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
21  *
22  * Copyright (c) 2009-2012,
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_DEF_WRITER_H
33 #define OTF2_DEF_WRITER_H
34 
35 
45 #include <stdint.h>
46 
47 
48 #include <otf2/OTF2_ErrorCodes.h>
49 
50 
53 #include <otf2/OTF2_Definitions.h>
54 #include <otf2/OTF2_IdMap.h>
55 
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif /* __cplusplus */
60 
61 
63 typedef struct OTF2_DefWriter_struct OTF2_DefWriter;
64 
65 
77  OTF2_LocationRef* location );
78 
79 
97  OTF2_MappingType mappingType,
98  const OTF2_IdMap* idMap );
99 
100 
118  OTF2_TimeStamp time,
119  int64_t offset,
120  double standardDeviation );
121 
122 
137  OTF2_StringRef self,
138  const char* string );
139 
140 
160  OTF2_AttributeRef self,
161  OTF2_StringRef name,
162  OTF2_StringRef description,
163  OTF2_Type type );
164 
165 
189  OTF2_StringRef name,
190  OTF2_StringRef className,
191  OTF2_SystemTreeNodeRef parent );
192 
193 
214  OTF2_StringRef name,
215  OTF2_LocationGroupType locationGroupType,
216  OTF2_SystemTreeNodeRef systemTreeParent );
217 
218 
239  OTF2_LocationRef self,
240  OTF2_StringRef name,
241  OTF2_LocationType locationType,
242  uint64_t numberOfEvents,
243  OTF2_LocationGroupRef locationGroup );
244 
245 
275  OTF2_RegionRef self,
276  OTF2_StringRef name,
277  OTF2_StringRef canonicalName,
278  OTF2_StringRef description,
279  OTF2_RegionRole regionRole,
280  OTF2_Paradigm paradigm,
281  OTF2_RegionFlag regionFlags,
282  OTF2_StringRef sourceFile,
283  uint32_t beginLineNumber,
284  uint32_t endLineNumber );
285 
286 
310  OTF2_CallsiteRef self,
311  OTF2_StringRef sourceFile,
312  uint32_t lineNumber,
313  OTF2_RegionRef enteredRegion,
314  OTF2_RegionRef leftRegion );
315 
316 
334  OTF2_CallpathRef self,
335  OTF2_CallpathRef parent,
336  OTF2_RegionRef region );
337 
338 
361  OTF2_GroupRef self,
362  OTF2_StringRef name,
363  OTF2_GroupType groupType,
364  OTF2_Paradigm paradigm,
365  OTF2_GroupFlag groupFlags,
366  uint32_t numberOfMembers,
367  const uint64_t* members );
368 
369 
415  OTF2_StringRef name,
416  OTF2_StringRef description,
417  OTF2_MetricType metricType,
418  OTF2_MetricMode metricMode,
419  OTF2_Type valueType,
420  OTF2_Base base,
421  int64_t exponent,
422  OTF2_StringRef unit );
423 
424 
448  OTF2_MetricRef self,
449  uint8_t numberOfMetrics,
450  const OTF2_MetricMemberRef* metricMembers,
451  OTF2_MetricOccurrence metricOccurrence,
452  OTF2_RecorderKind recorderKind );
453 
454 
481  OTF2_MetricRef self,
482  OTF2_MetricRef metricClass,
483  OTF2_LocationRef recorder,
484  OTF2_MetricScope metricScope,
485  uint64_t scope );
486 
487 
511  OTF2_CommRef self,
512  OTF2_StringRef name,
513  OTF2_GroupRef group,
514  OTF2_CommRef parent );
515 
516 
535  OTF2_ParameterRef self,
536  OTF2_StringRef name,
537  OTF2_ParameterType parameterType );
538 
539 
558  OTF2_RmaWinRef self,
559  OTF2_StringRef name,
560  OTF2_CommRef comm );
561 
562 
580  OTF2_MetricRef metricClass,
581  OTF2_LocationRef recorder );
582 
583 
604  OTF2_SystemTreeNodeRef systemTreeNode,
605  OTF2_StringRef name,
606  OTF2_Type type,
607  OTF2_AttributeValue value );
608 
609 
627  OTF2_SystemTreeNodeRef systemTreeNode,
628  OTF2_SystemTreeDomain systemTreeDomain );
629 
630 
650  OTF2_LocationGroupRef locationGroup,
651  OTF2_StringRef name,
652  OTF2_Type type,
653  OTF2_AttributeValue value );
654 
655 
675  OTF2_LocationRef location,
676  OTF2_StringRef name,
677  OTF2_Type type,
678  OTF2_AttributeValue value );
679 
680 
701  OTF2_StringRef name,
702  uint32_t size,
703  OTF2_CartPeriodicity cartPeriodicity );
704 
705 
732  OTF2_StringRef name,
733  OTF2_CommRef communicator,
734  uint8_t numberOfDimensions,
735  const OTF2_CartDimensionRef* cartDimensions );
736 
737 
759  OTF2_CartTopologyRef cartTopology,
760  uint32_t rank,
761  uint8_t numberOfDimensions,
762  const uint32_t* coordinates );
763 
764 
789  OTF2_StringRef file,
790  uint32_t lineNumber );
791 
792 
863  OTF2_RegionRef region,
864  OTF2_SourceCodeLocationRef sourceCodeLocation,
865  OTF2_CallingContextRef parent );
866 
867 
888  OTF2_CallingContextRef callingContext,
889  OTF2_StringRef name,
890  OTF2_Type type,
891  OTF2_AttributeValue value );
892 
893 
931  OTF2_StringRef name,
932  OTF2_InterruptGeneratorMode interruptGeneratorMode,
933  OTF2_Base base,
934  int64_t exponent,
935  uint64_t period );
936 
937 
938 #ifdef __cplusplus
939 }
940 #endif /* __cplusplus */
941 
942 
943 #endif /* !OTF2_DEF_WRITER_H */
uint32_t OTF2_GroupFlag
Wrapper for enum OTF2_GroupFlag_enum.
Definition: OTF2_Definitions.h:360
uint8_t OTF2_ParameterType
Wrapper for enum OTF2_ParameterType_enum.
Definition: OTF2_Definitions.h:611
OTF2_ErrorCode OTF2_DefWriter_WriteGroup(OTF2_DefWriter *writer, OTF2_GroupRef self, OTF2_StringRef name, OTF2_GroupType groupType, OTF2_Paradigm paradigm, OTF2_GroupFlag groupFlags, uint32_t numberOfMembers, const uint64_t *members)
Writes a Group definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteLocationProperty(OTF2_DefWriter *writer, OTF2_LocationRef location, OTF2_StringRef name, OTF2_Type type, OTF2_AttributeValue value)
Writes a LocationProperty definition record into the DefWriter.
uint64_t OTF2_LocationRef
Type used to indicate a reference to a Location definition.
Definition: OTF2_GeneralDefinitions.h:125
OTF2_ErrorCode OTF2_DefWriter_WriteCallsite(OTF2_DefWriter *writer, OTF2_CallsiteRef self, OTF2_StringRef sourceFile, uint32_t lineNumber, OTF2_RegionRef enteredRegion, OTF2_RegionRef leftRegion)
Writes a Callsite definition record into the DefWriter.
uint8_t OTF2_MetricMode
Wrapper for enum OTF2_MetricMode_enum.
Definition: OTF2_Definitions.h:515
uint8_t OTF2_Type
Wrapper for enum OTF2_Type_enum.
Definition: OTF2_GeneralDefinitions.h:525
uint8_t OTF2_Base
Wrapper for enum OTF2_Base_enum.
Definition: OTF2_Definitions.h:382
OTF2_ErrorCode OTF2_DefWriter_WriteClockOffset(OTF2_DefWriter *writer, OTF2_TimeStamp time, int64_t offset, double standardDeviation)
Writes a ClockOffset definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteAttribute(OTF2_DefWriter *writer, OTF2_AttributeRef self, OTF2_StringRef name, OTF2_StringRef description, OTF2_Type type)
Writes a Attribute definition record into the DefWriter.
uint8_t OTF2_Paradigm
Wrapper for enum OTF2_Paradigm_enum.
Definition: OTF2_GeneralDefinitions.h:661
uint32_t OTF2_StringRef
Type used to indicate a reference to a String definition.
Definition: OTF2_GeneralDefinitions.h:101
uint8_t OTF2_RecorderKind
Wrapper for enum OTF2_RecorderKind_enum.
Definition: OTF2_Definitions.h:583
uint8_t OTF2_MappingType
Wrapper for enum OTF2_MappingType_enum.
Definition: OTF2_GeneralDefinitions.h:464
OTF2_ErrorCode OTF2_DefWriter_GetLocationID(const OTF2_DefWriter *writer, OTF2_LocationRef *location)
Returns the location ID of the location which is related to the writer object.
Declares the OTF2_AttributeValue and provides convenience functions to convert from and to OTF2 enum ...
OTF2_ErrorCode OTF2_DefWriter_WriteCartDimension(OTF2_DefWriter *writer, OTF2_CartDimensionRef self, OTF2_StringRef name, uint32_t size, OTF2_CartPeriodicity cartPeriodicity)
Writes a CartDimension definition record into the DefWriter.
uint32_t OTF2_ParameterRef
Type used to indicate a reference to a Parameter definition.
Definition: OTF2_GeneralDefinitions.h:173
uint8_t OTF2_RegionRole
Wrapper for enum OTF2_RegionRole_enum.
Definition: OTF2_Definitions.h:139
OTF2_ErrorCode
Definition: OTF2_ErrorCodes.h:54
OTF2_ErrorCode OTF2_DefWriter_WriteMetricClass(OTF2_DefWriter *writer, OTF2_MetricRef self, uint8_t numberOfMetrics, const OTF2_MetricMemberRef *metricMembers, OTF2_MetricOccurrence metricOccurrence, OTF2_RecorderKind recorderKind)
Writes a MetricClass definition record into the DefWriter.
Data types used in the definition records.
OTF2_ErrorCode OTF2_DefWriter_WriteString(OTF2_DefWriter *writer, OTF2_StringRef self, const char *string)
Writes a String definition record into the DefWriter.
uint32_t OTF2_InterruptGeneratorRef
Type used to indicate a reference to a InterruptGenerator definition.
Definition: OTF2_GeneralDefinitions.h:209
This header file provides general definitions which should be accessible in all internal and external...
OTF2_ErrorCode OTF2_DefWriter_WriteSystemTreeNodeProperty(OTF2_DefWriter *writer, OTF2_SystemTreeNodeRef systemTreeNode, OTF2_StringRef name, OTF2_Type type, OTF2_AttributeValue value)
Writes a SystemTreeNodeProperty definition record into the DefWriter.
uint8_t OTF2_MetricType
Wrapper for enum OTF2_MetricType_enum.
Definition: OTF2_Definitions.h:425
struct OTF2_DefWriter_struct OTF2_DefWriter
Handle definition for the external definition writer.
Definition: OTF2_DefWriter.h:63
uint64_t OTF2_TimeStamp
OTF2 time stamp.
Definition: OTF2_GeneralDefinitions.h:95
OTF2_ErrorCode OTF2_DefWriter_WriteRmaWin(OTF2_DefWriter *writer, OTF2_RmaWinRef self, OTF2_StringRef name, OTF2_CommRef comm)
Writes a RmaWin definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteCallingContextProperty(OTF2_DefWriter *writer, OTF2_CallingContextRef callingContext, OTF2_StringRef name, OTF2_Type type, OTF2_AttributeValue value)
Writes a CallingContextProperty definition record into the DefWriter.
uint32_t OTF2_MetricMemberRef
Type used to indicate a reference to a MetricMember definition.
Definition: OTF2_GeneralDefinitions.h:155
OTF2_ErrorCode OTF2_DefWriter_WriteRegion(OTF2_DefWriter *writer, OTF2_RegionRef self, OTF2_StringRef name, OTF2_StringRef canonicalName, OTF2_StringRef description, OTF2_RegionRole regionRole, OTF2_Paradigm paradigm, OTF2_RegionFlag regionFlags, OTF2_StringRef sourceFile, uint32_t beginLineNumber, uint32_t endLineNumber)
Writes a Region definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteMetricMember(OTF2_DefWriter *writer, OTF2_MetricMemberRef self, OTF2_StringRef name, OTF2_StringRef description, OTF2_MetricType metricType, OTF2_MetricMode metricMode, OTF2_Type valueType, OTF2_Base base, int64_t exponent, OTF2_StringRef unit)
Writes a MetricMember definition record into the DefWriter.
uint8_t OTF2_InterruptGeneratorMode
Wrapper for enum OTF2_InterruptGeneratorMode_enum.
Definition: OTF2_Definitions.h:652
OTF2_ErrorCode OTF2_DefWriter_WriteMetricInstance(OTF2_DefWriter *writer, OTF2_MetricRef self, OTF2_MetricRef metricClass, OTF2_LocationRef recorder, OTF2_MetricScope metricScope, uint64_t scope)
Writes a MetricInstance definition record into the DefWriter.
uint32_t OTF2_MetricRef
Type used to indicate a reference to a MetricClass, or a MetricInstance definition.
Definition: OTF2_GeneralDefinitions.h:161
OTF2_ErrorCode OTF2_DefWriter_WriteMetricClassRecorder(OTF2_DefWriter *writer, OTF2_MetricRef metricClass, OTF2_LocationRef recorder)
Writes a MetricClassRecorder definition record into the DefWriter.
uint8_t OTF2_LocationType
Wrapper for enum OTF2_LocationType_enum.
Definition: OTF2_Definitions.h:114
uint8_t OTF2_MetricOccurrence
Wrapper for enum OTF2_MetricOccurrence_enum.
Definition: OTF2_Definitions.h:401
uint8_t OTF2_LocationGroupType
Wrapper for enum OTF2_LocationGroupType_enum.
Definition: OTF2_Definitions.h:95
OTF2_ErrorCode OTF2_DefWriter_WriteSourceCodeLocation(OTF2_DefWriter *writer, OTF2_SourceCodeLocationRef self, OTF2_StringRef file, uint32_t lineNumber)
Writes a SourceCodeLocation definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteLocation(OTF2_DefWriter *writer, OTF2_LocationRef self, OTF2_StringRef name, OTF2_LocationType locationType, uint64_t numberOfEvents, OTF2_LocationGroupRef locationGroup)
Writes a Location definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteCartTopology(OTF2_DefWriter *writer, OTF2_CartTopologyRef self, OTF2_StringRef name, OTF2_CommRef communicator, uint8_t numberOfDimensions, const OTF2_CartDimensionRef *cartDimensions)
Writes a CartTopology definition record into the DefWriter.
uint32_t OTF2_CallingContextRef
Type used to indicate a reference to a CallingContext definition.
Definition: OTF2_GeneralDefinitions.h:203
OTF2_ErrorCode OTF2_DefWriter_WriteCartCoordinate(OTF2_DefWriter *writer, OTF2_CartTopologyRef cartTopology, uint32_t rank, uint8_t numberOfDimensions, const uint32_t *coordinates)
Writes a CartCoordinate definition record into the DefWriter.
uint8_t OTF2_GroupType
Wrapper for enum OTF2_GroupType_enum.
Definition: OTF2_Definitions.h:305
OTF2_ErrorCode OTF2_DefWriter_WriteCallingContext(OTF2_DefWriter *writer, OTF2_CallingContextRef self, OTF2_RegionRef region, OTF2_SourceCodeLocationRef sourceCodeLocation, OTF2_CallingContextRef parent)
Writes a CallingContext definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteSystemTreeNodeDomain(OTF2_DefWriter *writer, OTF2_SystemTreeNodeRef systemTreeNode, OTF2_SystemTreeDomain systemTreeDomain)
Writes a SystemTreeNodeDomain definition record into the DefWriter.
uint8_t OTF2_MetricScope
Wrapper for enum OTF2_MetricScope_enum.
Definition: OTF2_Definitions.h:558
Identifier mapping data structure, based on Scalasca's epk_idmap.h.
uint32_t OTF2_SystemTreeNodeRef
Type used to indicate a reference to a SystemTreeNode definition.
Definition: OTF2_GeneralDefinitions.h:113
OTF2_ErrorCode OTF2_DefWriter_WriteSystemTreeNode(OTF2_DefWriter *writer, OTF2_SystemTreeNodeRef self, OTF2_StringRef name, OTF2_StringRef className, OTF2_SystemTreeNodeRef parent)
Writes a SystemTreeNode definition record into the DefWriter.
uint32_t OTF2_CartTopologyRef
Type used to indicate a reference to a CartTopology definition.
Definition: OTF2_GeneralDefinitions.h:191
OTF2_ErrorCode OTF2_DefWriter_WriteComm(OTF2_DefWriter *writer, OTF2_CommRef self, OTF2_StringRef name, OTF2_GroupRef group, OTF2_CommRef parent)
Writes a Comm definition record into the DefWriter.
uint8_t OTF2_CartPeriodicity
Wrapper for enum OTF2_CartPeriodicity_enum.
Definition: OTF2_Definitions.h:633
struct OTF2_IdMap_struct OTF2_IdMap
Definition: OTF2_IdMap.h:67
OTF2_ErrorCode OTF2_DefWriter_WriteLocationGroup(OTF2_DefWriter *writer, OTF2_LocationGroupRef self, OTF2_StringRef name, OTF2_LocationGroupType locationGroupType, OTF2_SystemTreeNodeRef systemTreeParent)
Writes a LocationGroup definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteInterruptGenerator(OTF2_DefWriter *writer, OTF2_InterruptGeneratorRef self, OTF2_StringRef name, OTF2_InterruptGeneratorMode interruptGeneratorMode, OTF2_Base base, int64_t exponent, uint64_t period)
Writes a InterruptGenerator definition record into the DefWriter.
uint32_t OTF2_SourceCodeLocationRef
Type used to indicate a reference to a SourceCodeLocation definition.
Definition: OTF2_GeneralDefinitions.h:197
uint32_t OTF2_CartDimensionRef
Type used to indicate a reference to a CartDimension definition.
Definition: OTF2_GeneralDefinitions.h:185
uint32_t OTF2_CommRef
Type used to indicate a reference to a Comm definition.
Definition: OTF2_GeneralDefinitions.h:167
uint32_t OTF2_RegionFlag
Wrapper for enum OTF2_RegionFlag_enum.
Definition: OTF2_Definitions.h:281
uint32_t OTF2_RegionRef
Type used to indicate a reference to a Region definition.
Definition: OTF2_GeneralDefinitions.h:131
OTF2_ErrorCode OTF2_DefWriter_WriteLocationGroupProperty(OTF2_DefWriter *writer, OTF2_LocationGroupRef locationGroup, OTF2_StringRef name, OTF2_Type type, OTF2_AttributeValue value)
Writes a LocationGroupProperty definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteCallpath(OTF2_DefWriter *writer, OTF2_CallpathRef self, OTF2_CallpathRef parent, OTF2_RegionRef region)
Writes a Callpath definition record into the DefWriter.
OTF2_ErrorCode OTF2_DefWriter_WriteParameter(OTF2_DefWriter *writer, OTF2_ParameterRef self, OTF2_StringRef name, OTF2_ParameterType parameterType)
Writes a Parameter definition record into the DefWriter.
uint32_t OTF2_GroupRef
Type used to indicate a reference to a Group definition.
Definition: OTF2_GeneralDefinitions.h:149
uint32_t OTF2_AttributeRef
Type used to indicate a reference to a Attribute definition.
Definition: OTF2_GeneralDefinitions.h:107
Error codes and error handling.
uint32_t OTF2_RmaWinRef
Type used to indicate a reference to a RmaWin definition.
Definition: OTF2_GeneralDefinitions.h:179
Value container for an attributes.
Definition: OTF2_AttributeValue.h:52
uint32_t OTF2_CallpathRef
Type used to indicate a reference to a Callpath definition.
Definition: OTF2_GeneralDefinitions.h:143
uint32_t OTF2_CallsiteRef
Type used to indicate a reference to a Callsite definition.
Definition: OTF2_GeneralDefinitions.h:137
OTF2_ErrorCode OTF2_DefWriter_WriteMappingTable(OTF2_DefWriter *writer, OTF2_MappingType mappingType, const OTF2_IdMap *idMap)
Writes a MappingTable definition record into the DefWriter.
uint32_t OTF2_LocationGroupRef
Type used to indicate a reference to a LocationGroup definition.
Definition: OTF2_GeneralDefinitions.h:119
uint8_t OTF2_SystemTreeDomain
Wrapper for enum OTF2_SystemTreeDomain_enum.
Definition: OTF2_Definitions.h:56