2.0 (revision 4611)
|
This layer always writes globally defined OTF2 definition records and is used to write either the global definitions in addition to local definitions or write all definitions as globally valid in combination with OTF2_GlobalEventWriter. Global definitions are stored in one global definition file, which makes it nearly impossible to write them in a distributed manner. It is therefore only allowed to get such a writer from an OTF2_Archive which is the master in the collective context. More...
#include <stdint.h>
#include <otf2/OTF2_ErrorCodes.h>
#include <otf2/OTF2_GeneralDefinitions.h>
#include <otf2/OTF2_AttributeValue.h>
#include <otf2/OTF2_Definitions.h>
Go to the source code of this file.
Typedefs | |
typedef struct OTF2_GlobalDefWriter_struct | OTF2_GlobalDefWriter |
Typedef of the struct which keeps all necessary information of a global definition writer. Can be used to reference these structs from external. | |
This layer always writes globally defined OTF2 definition records and is used to write either the global definitions in addition to local definitions or write all definitions as globally valid in combination with OTF2_GlobalEventWriter. Global definitions are stored in one global definition file, which makes it nearly impossible to write them in a distributed manner. It is therefore only allowed to get such a writer from an OTF2_Archive which is the master in the collective context.
OTF2_ErrorCode OTF2_GlobalDefWriter_GetNumberOfDefinitions | ( | OTF2_GlobalDefWriter * | writerHandle, |
uint64_t * | numberOfDefinitions | ||
) |
Returns the current number of written definitions of a global definition writer.
writerHandle | Handle to the global definition writer. | |
[out] | numberOfDefinitions | Storage for the number of definitions. |
OTF2_ErrorCode OTF2_GlobalDefWriter_GetNumberOfLocations | ( | OTF2_GlobalDefWriter * | writerHandle, |
uint64_t * | numberOfLocations | ||
) |
Returns the current number of written location definitions of a global definition writer.
writerHandle | Handle to the global definition writer. | |
[out] | numberOfLocations | Storage for the number of locations. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteClockProperties | ( | OTF2_GlobalDefWriter * | writerHandle, |
uint64_t | timerResolution, | ||
uint64_t | globalOffset, | ||
uint64_t | traceLength | ||
) |
Writes a ClockProperties definition record into the GlobalDefWriter.
Defines the timer resolution and time range of this trace. There will be no event with a timestamp less than globalOffset
, and no event with timestamp greater than (globalOffset
+ traceLength
).
writerHandle | The writer handle. |
timerResolution | Ticks per seconds. |
globalOffset | A timestamp smaller than all event timestamps. |
traceLength | A timespan which includes the timespan between the smallest and greatest timestamp of all event timestamps. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteParadigm | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_Paradigm | paradigm, | ||
OTF2_StringRef | name, | ||
OTF2_ParadigmClass | paradigmClass | ||
) |
Writes a Paradigm definition record into the GlobalDefWriter.
Attests that the following parallel paradigm was available at the time when the trace was recorded, and vice versa. Note that this does not attest that the paradigm was used. For convenience, this also includes a proper name for the paradigm and a classification. This definition is only allowed to appear at most once in the definitions per Paradigm.
writerHandle | The writer handle. |
paradigm | The paradigm to attest. |
name | The name of the paradigm. References a String definition. |
paradigmClass | The class of this paradigm. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteParadigmProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_Paradigm | paradigm, | ||
OTF2_ParadigmProperty | property, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a ParadigmProperty definition record into the GlobalDefWriter.
Extensible annotation for the Paradigm definition.
The tuple (paradigm, property) must be unique.
writerHandle | The writer handle. |
paradigm | The paradigm to annotate. |
property | The property. |
type | The type of this property. Must match with the defined type of the property. |
value | The value of this property. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteString | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_StringRef | self, | ||
const char * | string | ||
) |
Writes a String definition record into the GlobalDefWriter.
The string definition.
writerHandle | The writer handle. |
self | The unique identifier for this String definition. |
string | The string, null terminated. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteAttribute | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_AttributeRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | description, | ||
OTF2_Type | type | ||
) |
Writes a Attribute definition record into the GlobalDefWriter.
The attribute definition.
writerHandle | The writer handle. |
self | The unique identifier for this Attribute definition. |
name | Name of the attribute. References a String definition. |
description | Description of the attribute. References a String definition. Since version 1.4. |
type | Type of the attribute value. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSystemTreeNode | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SystemTreeNodeRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | className, | ||
OTF2_SystemTreeNodeRef | parent | ||
) |
Writes a SystemTreeNode definition record into the GlobalDefWriter.
The system tree node definition.
writerHandle | The writer handle. |
self | The unique identifier for this SystemTreeNode definition. |
name | Free form instance name of this node. References a String definition. |
className | Free form class name of this node References a String definition. |
parent | Parent id of this node. May be OTF2_UNDEFINED_SYSTEM_TREE_NODE to indicate that there is no parent. References a SystemTreeNode definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocationGroup | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationGroupRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_LocationGroupType | locationGroupType, | ||
OTF2_SystemTreeNodeRef | systemTreeParent | ||
) |
Writes a LocationGroup definition record into the GlobalDefWriter.
The location group definition.
writerHandle | The writer handle. |
self | The unique identifier for this LocationGroup definition. |
name | Name of the group. References a String definition. |
locationGroupType | Type of this group. |
systemTreeParent | Parent of this location group in the system tree. References a SystemTreeNode definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocation | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_LocationType | locationType, | ||
uint64_t | numberOfEvents, | ||
OTF2_LocationGroupRef | locationGroup | ||
) |
Writes a Location definition record into the GlobalDefWriter.
The location definition.
writerHandle | The writer handle. |
self | The unique identifier for this Location definition. |
name | Name of the location References a String definition. |
locationType | Location type. |
numberOfEvents | Number of events this location has recorded. |
locationGroup | Location group which includes this location. References a LocationGroup definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteRegion | ( | OTF2_GlobalDefWriter * | writerHandle, |
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 GlobalDefWriter.
The region definition.
writerHandle | The writer handle. |
self | The unique identifier for this Region definition. |
name | Name of the region (demangled name if available). References a String definition. |
canonicalName | Alternative name of the region (e.g. mangled name). References a String definition. Since version 1.1. |
description | A more detailed description of this region. References a String definition. |
regionRole | Region role. Since version 1.1. |
paradigm | Paradigm. Since version 1.1. |
regionFlags | Region flags. Since version 1.1. |
sourceFile | The source file where this region was declared. References a String definition. |
beginLineNumber | Starting line number of this region in the source file. |
endLineNumber | Ending line number of this region in the source file. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallsite | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallsiteRef | self, | ||
OTF2_StringRef | sourceFile, | ||
uint32_t | lineNumber, | ||
OTF2_RegionRef | enteredRegion, | ||
OTF2_RegionRef | leftRegion | ||
) |
Writes a Callsite definition record into the GlobalDefWriter.
The callsite definition.
writerHandle | The writer handle. |
self | The unique identifier for this Callsite definition. |
sourceFile | The source file where this call was made. References a String definition. |
lineNumber | Line number in the source file where this call was made. |
enteredRegion | The region which was called. References a Region definition. |
leftRegion | The region which made the call. References a Region definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallpath | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallpathRef | self, | ||
OTF2_CallpathRef | parent, | ||
OTF2_RegionRef | region | ||
) |
Writes a Callpath definition record into the GlobalDefWriter.
The callpath definition.
writerHandle | The writer handle. |
self | The unique identifier for this Callpath definition. |
parent | The parent of this callpath. References a Callpath definition. |
region | The region of this callpath. References a Region definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteGroup | ( | OTF2_GlobalDefWriter * | writerHandle, |
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 GlobalDefWriter.
The group definition.
writerHandle | The writer handle. |
self | The unique identifier for this Group definition. |
name | Name of this group References a String definition. |
groupType | The type of this group. Since version 1.2. |
paradigm | The paradigm of this communication group. Since version 1.2. |
groupFlags | Flags for this group. Since version 1.2. |
numberOfMembers | The number of members in this group. |
members | The identifiers of the group members. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricMember | ( | OTF2_GlobalDefWriter * | writerHandle, |
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 GlobalDefWriter.
A metric is defined by a metric member definition. A metric member is always a member of a metric class. Therefore, a single metric is a special case of a metric class with only one member. It is not allowed to reference a metric member id in a metric event, but only metric class IDs.
writerHandle | The writer handle. |
self | The unique identifier for this MetricMember definition. |
name | Name of the metric. References a String definition. |
description | Description of the metric. References a String definition. |
metricType | Metric type: PAPI, etc. |
metricMode | Metric mode: accumulative, fix, relative, etc. |
valueType | Type of the value. Only OTF2_TYPE_INT64, OTF2_TYPE_UINT64, and OTF2_TYPE_DOUBLE are valid types. If this metric member is recorded in a Metric event, than this type and the type in the event must match. |
base | The recorded values should be handled in this given base, either binary or decimal. This information can be used if the value needs to be scaled. |
exponent | The values inside the Metric events should be scaled by the factor base^exponent, to get the value in its base unit. For example, if the metric values come in as KiBi, than the base should be OTF2_BASE_BINARY and the exponent 10. Than the writer does not need to scale the values up to bytes, but can directly write the KiBi values into the Metric event. At reading time, the reader can apply the scaling factor to get the value in its base unit, ie. in bytes. |
unit | Unit of the metric. This needs to be the scale free base unit, ie. "bytes", "operations", or "seconds". In particular this unit should not have any scale prefix. References a String definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricClass | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricRef | self, | ||
uint8_t | numberOfMetrics, | ||
const OTF2_MetricMemberRef * | metricMembers, | ||
OTF2_MetricOccurrence | metricOccurrence, | ||
OTF2_RecorderKind | recorderKind | ||
) |
Writes a MetricClass definition record into the GlobalDefWriter.
For a metric class it is implicitly given that the event stream that records the metric is also the scope. A metric class can contain multiple different metrics.
writerHandle | The writer handle. |
self | The unique identifier for this MetricClass definition. |
numberOfMetrics | Number of metrics within the set. |
metricMembers | List of metric members. References a MetricMember definition. |
metricOccurrence | Defines occurrence of a metric set. |
recorderKind | What kind of locations will record this metric class, or will this metric class only be recorded by metric instances. Since version 1.2. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricInstance | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricRef | self, | ||
OTF2_MetricRef | metricClass, | ||
OTF2_LocationRef | recorder, | ||
OTF2_MetricScope | metricScope, | ||
uint64_t | scope | ||
) |
Writes a MetricInstance definition record into the GlobalDefWriter.
A metric instance is used to define metrics that are recorded at one location for multiple locations or for another location. The occurrence of a metric instance is implicitly of type OTF2_METRIC_ASYNCHRONOUS.
writerHandle | The writer handle. |
self | The unique identifier for this MetricClass definition. |
metricClass | The instanced MetricClass. This metric class must be of kind OTF2_RECORDER_KIND_ABSTRACT. References a MetricClass definition. |
recorder | Recorder of the metric: location ID. References a Location definition. |
metricScope | Defines type of scope: location, location group, system tree node, or a generic group of locations. |
scope | Scope of metric: ID of a location, location group, system tree node, or a generic group of locations. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteComm | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CommRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_GroupRef | group, | ||
OTF2_CommRef | parent | ||
) |
Writes a Comm definition record into the GlobalDefWriter.
The communicator definition.
writerHandle | The writer handle. |
self | The unique identifier for this Comm definition. |
name | The name given by calling MPI_Comm_set_name on this communicator. Or the empty name to indicate that no name was given. References a String definition. |
group | The describing MPI group of this MPI communicator The group needs to be of type OTF2_GROUP_TYPE_COMM_GROUP or OTF2_GROUP_TYPE_COMM_SELF. References a Group definition. |
parent | The parent MPI communicator from which this communicator was created, if any. Use OTF2_UNDEFINED_COMM to indicate no parent. References a Comm definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteParameter | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_ParameterRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_ParameterType | parameterType | ||
) |
Writes a Parameter definition record into the GlobalDefWriter.
The parameter definition.
writerHandle | The writer handle. |
self | The unique identifier for this Parameter definition. |
name | Name of the parameter (variable name etc.) References a String definition. |
parameterType | Type of the parameter, OTF2_ParameterType for possible types. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteRmaWin | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_RmaWinRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_CommRef | comm | ||
) |
Writes a RmaWin definition record into the GlobalDefWriter.
A window defines the communication context for any remote-memory access operation.
writerHandle | The writer handle. |
self | The unique identifier for this RmaWin definition. |
name | Name, e.g. 'GASPI Queue 1', 'NVidia Card 2', etc.. References a String definition. |
comm | Communicator object used to create the window. References a Comm definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricClassRecorder | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricRef | metricClass, | ||
OTF2_LocationRef | recorder | ||
) |
Writes a MetricClassRecorder definition record into the GlobalDefWriter.
The metric class recorder definition.
writerHandle | The writer handle. |
metricClass | Parent MetricClass definition to which this one is a supplementary definition. References a MetricClass definition. |
recorder | The location which recorded the referenced metric class. References a Location definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSystemTreeNodeProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SystemTreeNodeRef | systemTreeNode, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a SystemTreeNodeProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a SystemTreeNode definition.
writerHandle | The writer handle. |
systemTreeNode | Parent SystemTreeNode definition to which this one is a supplementary definition. References a SystemTreeNode definition. |
name | Name of the property. References a String definition. |
type | The type of this property. Since version 2.0. |
value | The value of this property. Since version 2.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSystemTreeNodeDomain | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SystemTreeNodeRef | systemTreeNode, | ||
OTF2_SystemTreeDomain | systemTreeDomain | ||
) |
Writes a SystemTreeNodeDomain definition record into the GlobalDefWriter.
The system tree node domain definition.
writerHandle | The writer handle. |
systemTreeNode | Parent SystemTreeNode definition to which this one is a supplementary definition. References a SystemTreeNode definition. |
systemTreeDomain | The domain in which the referenced SystemTreeNode operates in. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocationGroupProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationGroupRef | locationGroup, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a LocationGroupProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a LocationGroup definition.
writerHandle | The writer handle. |
locationGroup | Parent LocationGroup definition to which this one is a supplementary definition. References a LocationGroup definition. |
name | Name of the property. References a String definition. |
type | The type of this property. Since version 2.0. |
value | The value of this property. Since version 2.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocationProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationRef | location, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a LocationProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a Location definition.
writerHandle | The writer handle. |
location | Parent Location definition to which this one is a supplementary definition. References a Location definition. |
name | Name of the property. References a String definition. |
type | The type of this property. Since version 2.0. |
value | The value of this property. Since version 2.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCartDimension | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CartDimensionRef | self, | ||
OTF2_StringRef | name, | ||
uint32_t | size, | ||
OTF2_CartPeriodicity | cartPeriodicity | ||
) |
Writes a CartDimension definition record into the GlobalDefWriter.
Each dimension in a Cartesian topology is composed of a global id, a name, its size, and whether it is periodic or not.
writerHandle | The writer handle. |
self | The unique identifier for this CartDimension definition. |
name | The name of the cartesian topology dimension. References a String definition. |
size | The size of the cartesian topology dimension. |
cartPeriodicity | Periodicity of the cartesian topology dimension. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCartTopology | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CartTopologyRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_CommRef | communicator, | ||
uint8_t | numberOfDimensions, | ||
const OTF2_CartDimensionRef * | cartDimensions | ||
) |
Writes a CartTopology definition record into the GlobalDefWriter.
Each topology is described by a global id, a reference to its name, a reference to a communicator, the number of dimensions, and references to those dimensions. The topology type is defined by the paradigm of the group referenced by the associated communicator.
writerHandle | The writer handle. |
self | The unique identifier for this CartTopology definition. |
name | The name of the topology. References a String definition. |
communicator | Communicator object used to create the topology. References a Comm definition. |
numberOfDimensions | Number of dimensions. |
cartDimensions | The dimensions of this topology. References a CartDimension definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCartCoordinate | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CartTopologyRef | cartTopology, | ||
uint32_t | rank, | ||
uint8_t | numberOfDimensions, | ||
const uint32_t * | coordinates | ||
) |
Writes a CartCoordinate definition record into the GlobalDefWriter.
Defines the coordinate of the location referenced by the given rank (w.r.t. the communicator associated to the topology) in the referenced topology.
writerHandle | The writer handle. |
cartTopology | Parent CartTopology definition to which this one is a supplementary definition. References a CartTopology definition. |
rank | The rank w.r.t. the communicator associated to the topology referencing this coordinate. |
numberOfDimensions | Number of dimensions. |
coordinates | Coordinates, indexed by dimension. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSourceCodeLocation | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SourceCodeLocationRef | self, | ||
OTF2_StringRef | file, | ||
uint32_t | lineNumber | ||
) |
Writes a SourceCodeLocation definition record into the GlobalDefWriter.
The definition of a source code location as tuple of the corresponding file name and line number.
When used to attach source code annotations to events, use the OTF2_AttributeList with a Attribute definition named "SOURCE_CODE_LOCATION"
and typed OTF2_TYPE_SOURCE_CODE_LOCATION.
writerHandle | The writer handle. |
self | The unique identifier for this SourceCodeLocation definition. |
file | The name of the file for the source code location. References a String definition. |
lineNumber | The line number for the source code location. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallingContext | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallingContextRef | self, | ||
OTF2_RegionRef | region, | ||
OTF2_SourceCodeLocationRef | sourceCodeLocation, | ||
OTF2_CallingContextRef | parent | ||
) |
Writes a CallingContext definition record into the GlobalDefWriter.
Defines a node in the calling context tree. These nodes are referenced in the CallingContextSample, CallingContextEnter, and CallingContextLeave events.
The referenced CallingContext node in these events form a path which represents the calling context at this time. This path will be partitioned into at most three sub-paths by the unwindDistance attribute. For the CallingContextLeave event, the unwindDistance is defined to be 1.
Starting from the referenced CallingContext node, the first nodes were newly entered regions since the previous calling context event. The next node is a region which was not left but made progress since the previous calling context event. All other nodes did not make progress at all, and thus the regions were neither left nor entered again. The unwindDistance is then
. In case the
unwindDistance
is , there are neither newly entered regions nor regions which made progress.
It is guaranteed, that the node referenced by the unwindDistance exists in the previous and current calling context. All descendants of this node's child in the previous calling context were left since the previous calling context event.
It is valid that this node is the OTF2_UNDEFINED_CALLING_CONTEXT node and that this node is already reached after unwindDistance steps. In the latter case, there exists no region which made progress, all regions in the previous calling context were left and all regions in the current calling context were newly entered.
Note that for CallingContextLeave events, the parent of the referenced CallingContext must be used as the previous calling context for the next event.
Regions which were entered with a CallingContextEnter event form an upper bound for the unwind distance, i.e., the unwindDistance points either to the parent of the last such entered region, or a node which is a descendant to this parent.
To summarize, an unwindDistance of means that no regions were left, newly entered, or made any progress. An unwindDistance of
means that some regions were left regarding the previous calling context, no regions were newly entered, and there was progress in the region of the first node. An unwindDistance greater than
means that some regions were left regarding the previous calling context, there was progress in one region, and the first unwindDistance
regions were newly entered.
writerHandle | The writer handle. |
self | The unique identifier for this CallingContext definition. |
region | The region. References a Region definition. |
sourceCodeLocation | The absolute source code location of this calling context. References a SourceCodeLocation definition. |
parent | Parent id of this context. References a CallingContext definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallingContextProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallingContextRef | callingContext, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a CallingContextProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a CallingContext definition.
writerHandle | The writer handle. |
callingContext | Parent CallingContext definition to which this one is a supplementary definition. References a CallingContext definition. |
name | Property name. References a String definition. |
type | The type of this property. Must match with the defined type of the property. |
value | The value of this property. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteInterruptGenerator | ( | OTF2_GlobalDefWriter * | writerHandle, |
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 GlobalDefWriter.
Defines an interrupt generator which periodically triggers CallingContextSample events. If the mode of the interrupt generator is set to OTF2_INTERRUPT_GENERATOR_MODE_TIME, the generator produces interrupts which are uniformly distributed over time, and the unit of the period is implicitly in seconds. If the mode is OTF2_INTERRUPT_GENERATOR_MODE_COUNT, the interrupt is triggered if a specific counter threshold is reached in the system. Therefore these samples are unlikely to be uniformly distributed over time. The unit of the period is then implicitly a number (threshold value).
The interrupts period in base unit (which is implicitly seconds or number, based on the mode
) is derived out of the base
, the exponent
, and the period
attributes by this formula:
base-period = period x base^exponent
writerHandle | The writer handle. |
self | The unique identifier for this InterruptGenerator definition. |
name | The name of this interrupt generator. References a String definition. |
interruptGeneratorMode | Mode of the interrupt generator. |
base | The base for the period calculation. |
exponent | The exponent for the period calculation. |
period | The period this interrupt generator generates interrupts. |