FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
Profiling

Markers for categorizing performance measurements. More...

Classes

struct  context< T >
 base for annotation contexts. More...
 
class  guard< ctx, severity >
 Scope guard for marking a code region. More...
 
struct  region< CTX >
 base for code region annotations. More...
 
class  rguard< reg >
 Scope guard for marking a code region. More...
 

Enumerations

enum class  detail
 used for specifying what detail of annotations to collect. More...
 

Functions

template<class reg >
std::enable_if_t< std::is_base_of< context< typename reg::outer_context >, typename reg::outer_context >::value > begin ()
 Tag beginning of code region with caliper annotation.
 
template<class ctx , detail severity>
std::enable_if_t< std::is_base_of< context< ctx >, ctx >::value > begin (const char *region_name)
 Tag beginning of a code region with runtime name.
 
template<class reg >
std::enable_if_t< std::is_base_of< context< typename reg::outer_context >, typename reg::outer_context >::value &&std::is_base_of< execute_task< reg >, reg >::value > begin (std::string_view task_name)
 Tag beginning of an execute_task region.
 
template<class ctx , detail severity>
std::enable_if_t< std::is_base_of< context< ctx >, ctx >::value > end ()
 Tag end of a named code region.
 
template<class reg >
std::enable_if_t< std::is_base_of< context< typename reg::outer_context >, typename reg::outer_context >::value > end ()
 Tag end of code region using a region type.
 

Detailed Description

Markers for categorizing performance measurements.

This utility provides an interface to the Caliper source-code annotation API. Regions of code are marked and annotations are recorded in Caliper depending on the CALIPER_DETAIL CMake option. Caliper's runtime configuration can then be used to control performance measurement and collection for the annotations.

Enumeration Type Documentation

◆ detail

enum class detail
strong

used for specifying what detail of annotations to collect.

Function Documentation

◆ begin() [1/3]

template<class ctx , detail severity>
std::enable_if_t< std::is_base_of< context< ctx >, ctx >::value > begin ( const char *  region_name)

Tag beginning of a code region with runtime name.

This is used to mark code regions with a name at runtime in contrast to using a region type.

Template Parameters
ctxannotation context for named code region.
detailseverity detail level to use for code region.
Deprecated:
Use guard.

◆ begin() [2/3]

template<class reg >
std::enable_if_t< std::is_base_of< context< typename reg::outer_context >, typename reg::outer_context >::value > begin ( )

Tag beginning of code region with caliper annotation.

The region is only tagged if caliper is enabled and reg::detail_level is compatible with the current annotation detail level.

Template Parameters
regcode region to tag (type inherits from annotation::region).
Deprecated:
Use rguard.

◆ begin() [3/3]

template<class reg >
std::enable_if_t< std::is_base_of< context< typename reg::outer_context >, typename reg::outer_context >::value && std::is_base_of< execute_task< reg >, reg >::value > begin ( std::string_view  task_name)

Tag beginning of an execute_task region.

The execute_task region has multiple phases and is associated with a named task.

Template Parameters
regcode region to tag (must inherit from annotation::execute_task).
Parameters
task_namename of task to tag.
Deprecated:
Use rguard.

◆ end() [1/2]

template<class ctx , detail severity>
std::enable_if_t< std::is_base_of< context< ctx >, ctx >::value > end ( )

Tag end of a named code region.

This is used for runtime named code regions (in contrast using region types).

Template Parameters
ctxannotation context for named code region.
detailseverity detail level to use for code region.
Deprecated:
Use guard.

◆ end() [2/2]

template<class reg >
std::enable_if_t< std::is_base_of< context< typename reg::outer_context >, typename reg::outer_context >::value > end ( )

Tag end of code region using a region type.

The region is only tagged if caliper is enabled and reg::detail_level is compatible with the current annotation detail level.

Template Parameters
regcode region to tag (type inherits from annotation::region).
Deprecated:
Use rguard.