Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IProfilingService Class Referenceabstract

Interface of a profiling service. More...

#include <arcane/utils/IProfilingService.h>

Inheritance diagram for Arcane::IProfilingService:
Collaboration diagram for Arcane::IProfilingService:

Public Member Functions

virtual void initialize ()=0
 Initializes the profiling service.
virtual bool isInitialized () const
 Indicates if initialize() has already been called.
virtual void startProfiling ()=0
 Starts profiling.
virtual void switchEvent ()=0
virtual void stopProfiling ()=0
 Stops profiling.
virtual void printInfos (bool dump_file=false)=0
 Displays profiling information.
virtual void getInfos (Int64Array &)=0
virtual void dumpJSON (JSONWriter &writer)=0
 Writes the profiling information to the writer writer.
virtual void reset ()=0
 Resets the counters.
virtual ITimerMngtimerMng ()=0
 Timer using the features of this service if they exist. Can be null.

Detailed Description

Interface of a profiling service.

initialize() must be called before using the instance. You can then call startProfiling()/stopProfiling() to start and stop profiling.

When profiling is stopped, you can call printInfos() to display the profiling information. The reset() method allows you to reset the profiling information.

Definition at line 45 of file IProfilingService.h.

Member Function Documentation

◆ dumpJSON()

virtual void Arcane::IProfilingService::dumpJSON ( JSONWriter & writer)
pure virtual

Writes the profiling information to the writer writer.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

Referenced by Arcane::CodeService::initCase().

Here is the caller graph for this function:

◆ initialize()

virtual void Arcane::IProfilingService::initialize ( )
pure virtual

Initializes the profiling service.

This method can only be called once.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

Referenced by Arcane::TimeLoopMng::doComputeLoop().

Here is the caller graph for this function:

◆ isInitialized()

virtual bool Arcane::IProfilingService::isInitialized ( ) const
inlinevirtual

Indicates if initialize() has already been called.

Reimplemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

Definition at line 61 of file IProfilingService.h.

Referenced by Arcane::TimeLoopMng::doComputeLoop().

Here is the caller graph for this function:

◆ printInfos()

virtual void Arcane::IProfilingService::printInfos ( bool dump_file = false)
pure virtual

Displays profiling information.

Profiling must be stopped. If dump_file is true, file outputs containing the information are generated, which may take time.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

Referenced by Arcane::TimeLoopMng::doComputeLoop().

Here is the caller graph for this function:

◆ reset()

virtual void Arcane::IProfilingService::reset ( )
pure virtual

Resets the counters.

Profiling must be stopped for this.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

Referenced by Arcane::TimeLoopMng::doComputeLoop().

Here is the caller graph for this function:

◆ startProfiling()

virtual void Arcane::IProfilingService::startProfiling ( )
pure virtual

Starts profiling.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

◆ stopProfiling()

virtual void Arcane::IProfilingService::stopProfiling ( )
pure virtual

Stops profiling.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.

◆ timerMng()

virtual ITimerMng * Arcane::IProfilingService::timerMng ( )
pure virtual

Timer using the features of this service if they exist. Can be null.

Implemented in Arcane::PapiPerformanceService, and Arcane::ProfPerformanceService.


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