bactria  0.0.1
The bactria library is a header-only C++14 library for profiling and tracing.
Collaboration diagram for User API:

Classes

class  bactria::metrics::Phase
 The phase class. More...
 
class  bactria::metrics::Sector< TTag >
 The sector class. More...
 
struct  bactria::metrics::Generic
 The generic tag. More...
 
struct  bactria::metrics::Function
 The function tag. More...
 
struct  bactria::metrics::Loop
 The loop tag. More...
 
struct  bactria::metrics::Body
 The body tag. More...
 

Macros

#define bactria_Phase(name)
 A macro that creates a phase and immediately enters it. More...
 
#define bactria_Sector(name, tag)
 A macro that creates a sector and immediately enters it. More...
 
#define bactria_Enter(sec)   sec.enter(__FILE__, __LINE__, __func__)
 Enter a phase or sector. More...
 
#define bactria_Leave(sec)   sec.leave(__FILE__, __LINE__, __func__)
 Leave a phase or sector. More...
 

Detailed Description

User API for bactria's metrics functionality.

Macro Definition Documentation

◆ bactria_Enter

#define bactria_Enter (   sec)    sec.enter(__FILE__, __LINE__, __func__)

Enter a phase or sector.

A macro that enters a phase or sector. Requires a (correctly nested) corresponding call to bactria_Leave() or the destructor of the phase / sector.

Parameters
[in]secThe previously created Phase or Sector object.
See also
bactria_Leave, Phase, Sector

◆ bactria_Leave

#define bactria_Leave (   sec)    sec.leave(__FILE__, __LINE__, __func__)

Leave a phase or sector.

A macro that leaves a phase or sector. Requires a (correctly nested) corresponding call to bactria_Enter() or the constructor of the phase / sector.

Parameters
[in]secThe previously created Phase or Sector object.
See also
bactria_Enter, Phase, Sector

◆ bactria_Phase

#define bactria_Phase (   name)
Value:
{ \
name, __FILE__, __LINE__, __func__ \
}

A macro that creates a phase and immediately enters it.

A macro that creates a phase and immediately enters it. If you want to create a Phase but enter it later use its non-entering constructor in combination with the bactria_Enter() and bactria_Leave() macros. Note that all phases and sectors must be correctly nested.

Parameters
[in]nameThe name of the phase as it should later appear in the output file or the visualizer.
See also
bactria_Enter, bactria_Leave, bactria_Sector

◆ bactria_Sector

#define bactria_Sector (   name,
  tag 
)
Value:
{ \
name, __FILE__, __LINE__, __func__ \
}

A macro that creates a sector and immediately enters it.

A macro that creates a sector and immediately enters it. If you want to create a phase but enter it later use Sector's constructor and the bactria_Enter() and bactria_Leave() macros. Note that all phases and sectors have to be correctly nested.

Parameters
[in]nameThe name of the sector as it should later appear in the output or the visualizer.
[in]tagThe tag of the sector.
See also
bactria_Enter, bactria_Leave, bactria_Phase, Sector, Generic, Function, Loop, Body
bactria::metrics::Phase
The phase class.
Definition: Phase.hpp:42
bactria::metrics::Sector
The sector class.
Definition: Sector.hpp:54