Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::ProfilingRegistry Class Reference

Profiling manager. More...

#include <arccore/base/Profiling.h>

Static Public Member Functions

static Impl::ForLoopStatInfoListthreadLocalInstance ()
static void setProfilingLevel (Int32 level)
 Sets the profiling level.
static Int32 profilingLevel ()
 Profiling level.
static bool hasProfiling ()
 Indicates if profiling is active.
static void visitLoopStat (const std::function< void(const Impl::ForLoopStatInfoList &)> &f)
 Visits the loop statistics list.
static void visitAcceleratorStat (const std::function< void(const Impl::AcceleratorStatInfoList &)> &f)
 Visits the accelerator statistics list.
static const Impl::ForLoopCumulativeStat & globalLoopStat ()
static Impl::ForLoopStatInfoList_threadLocalForLoopInstance ()
static Impl::AcceleratorStatInfoList * _threadLocalAcceleratorInstance ()

Detailed Description

Profiling manager.

It is possible to enable profiling by calling setProfilingLevel() with a value greater than or equal to 1.

Statistics are added by retrieving an instance of impl::ForLoopStatInfoList specific to the currently executing thread.

Definition at line 152 of file arccore/src/base/arccore/base/Profiling.h.

Member Function Documentation

◆ _threadLocalAcceleratorInstance()

Impl::AcceleratorStatInfoList * Arcane::ProfilingRegistry::_threadLocalAcceleratorInstance ( )
static

Definition at line 281 of file Profiling.cc.

◆ _threadLocalForLoopInstance()

Impl::ForLoopStatInfoList * Arcane::ProfilingRegistry::_threadLocalForLoopInstance ( )
static

Definition at line 272 of file Profiling.cc.

◆ globalLoopStat()

const Impl::ForLoopCumulativeStat & Arcane::ProfilingRegistry::globalLoopStat ( )
static

Definition at line 317 of file Profiling.cc.

◆ hasProfiling()

bool Arcane::ProfilingRegistry::hasProfiling ( )
inlinestatic

Indicates if profiling is active.

Definition at line 175 of file arccore/src/base/arccore/base/Profiling.h.

◆ profilingLevel()

Int32 Arcane::ProfilingRegistry::profilingLevel ( )
inlinestatic

Profiling level.

Definition at line 172 of file arccore/src/base/arccore/base/Profiling.h.

◆ setProfilingLevel()

void Arcane::ProfilingRegistry::setProfilingLevel ( Int32 level)
static

Sets the profiling level.

If 0, there is no profiling. Profiling is active starting from level 1.

Definition at line 308 of file Profiling.cc.

◆ threadLocalInstance()

Impl::ForLoopStatInfoList * Arcane::ProfilingRegistry::threadLocalInstance ( )
static

TODO: Deprecate. Use static impl::ForLoopStatInfoList* _threadLocalForLoopInstance() instead.

Definition at line 263 of file Profiling.cc.

◆ visitAcceleratorStat()

void Arcane::ProfilingRegistry::visitAcceleratorStat ( const std::function< void(const Impl::AcceleratorStatInfoList &)> & f)
static

Visits the accelerator statistics list.

There is an instance of impl::AcceleratorStatInfoList per thread that executed a loop.

This method must not be called when profiling is active.

Definition at line 299 of file Profiling.cc.

◆ visitLoopStat()

void Arcane::ProfilingRegistry::visitLoopStat ( const std::function< void(const Impl::ForLoopStatInfoList &)> & f)
static

Visits the loop statistics list.

There is an instance of impl::ForLoopStatInfoList per thread that executed a loop.

This method must not be called if loops are currently executing.

Definition at line 290 of file Profiling.cc.


The documentation for this class was generated from the following files: