61#ifdef ESPRESSO_CALIPER
63#include <caliper/cali.h>
79 static const bool active = (std::getenv(
"CALI_CONFIG") !=
nullptr);
96 cali_begin_region(
name_);
100 cali_end_region(
name_);
141 other.active_ =
false;
172 loop_ =
new cali::Loop(name);
173 iter_attr_ = cali_make_loop_iteration_attribute(name);
203#define ESPRESSO_CALI_MARK_FUNCTION \
204 EspressoCaliRegion CALI_CREATE_VAR_NAME(__espresso_cali_fn, __LINE__)( \
205 __func__, ::espresso_cali_active())
210#define ESPRESSO_CALI_MARK_BEGIN(name) \
212 if (::espresso_cali_active()) \
213 CALI_MARK_BEGIN(name); \
219#define ESPRESSO_CALI_MARK_END(name) \
221 if (::espresso_cali_active()) \
222 CALI_MARK_END(name); \
bool espresso_cali_active() noexcept
Return true if Caliper is configured for this process.
RAII iteration annotation for one pass through a loop body.
EspressoCaliIteration & operator=(const EspressoCaliIteration &)=delete
EspressoCaliIteration(EspressoCaliIteration &&other) noexcept
EspressoCaliIteration & operator=(EspressoCaliIteration &&)=delete
EspressoCaliIteration(const EspressoCaliIteration &)=delete
EspressoCaliIteration(cali_id_t iter_attr, int iter, bool active)
RAII loop wrapper replacing the CALI_CXX_MARK_LOOP_BEGIN / CALI_CXX_MARK_LOOP_ITERATION / CALI_CXX_MA...
EspressoCaliLoop & operator=(const EspressoCaliLoop &)=delete
EspressoCaliIteration iteration(int iter) const
Return an RAII iteration annotation for the current step.
EspressoCaliLoop(const char *name)
EspressoCaliLoop(const EspressoCaliLoop &)=delete
RAII region guard: begin on construction, end on destruction.
EspressoCaliRegion & operator=(const EspressoCaliRegion &)=delete
EspressoCaliRegion(const char *name, bool active)
EspressoCaliRegion(const EspressoCaliRegion &)=delete