Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
Module::Profiler Class Reference
Collaboration diagram for Module::Profiler:
Collaboration graph

Public Member Functions

 Profiler (string &id, bool _shouldLog, int _printFrequency, int _healthUpdateIntervalInSec, std::function< string()> _getPoolHealthRecord, APHealthCallback _healthCallback)
 
void setShouldLog (bool _shouldLog)
 
virtual ~Profiler ()
 
void startPipelineLap ()
 
void startProcessingLap ()
 
void endLap (size_t _queSize)
 
uint64_t getTickCounter ()
 
double getPipelineFps ()
 
void resetStats ()
 
void setHealthCallback (APHealthCallback _healthCallback)
 

Private Types

using sys_clock = std::chrono::system_clock
 

Private Attributes

string moduleId
 
sys_clock::time_point processingStart
 
sys_clock::time_point pipelineStart
 
sys_clock::time_point lastHealthCallbackTime
 
int printFrequency
 
uint64_t counter = 0
 
double totalProcessingDuration = 0
 
double totalPipelineDuration = 0
 
double queSize = 0
 
bool shouldLog = false
 
std::function< string()> getPoolHealthRecord
 
double mPipelineFps
 
APHealthCallback healthCallback
 
int mHealthUpdateIntervalInSec
 

Member Typedef Documentation

◆ sys_clock

using Module::Profiler::sys_clock = std::chrono::system_clock
private

Constructor & Destructor Documentation

◆ Profiler()

Module::Profiler::Profiler ( string & id,
bool _shouldLog,
int _printFrequency,
int _healthUpdateIntervalInSec,
std::function< string()> _getPoolHealthRecord,
APHealthCallback _healthCallback )
inline

◆ ~Profiler()

virtual Module::Profiler::~Profiler ( )
inlinevirtual

Member Function Documentation

◆ endLap()

void Module::Profiler::endLap ( size_t _queSize)
inline

◆ getPipelineFps()

double Module::Profiler::getPipelineFps ( )
inline

◆ getTickCounter()

uint64_t Module::Profiler::getTickCounter ( )
inline

◆ resetStats()

void Module::Profiler::resetStats ( )
inline

◆ setHealthCallback()

void Module::Profiler::setHealthCallback ( APHealthCallback _healthCallback)
inline

◆ setShouldLog()

void Module::Profiler::setShouldLog ( bool _shouldLog)
inline

◆ startPipelineLap()

void Module::Profiler::startPipelineLap ( )
inline

◆ startProcessingLap()

void Module::Profiler::startProcessingLap ( )
inline

Member Data Documentation

◆ counter

uint64_t Module::Profiler::counter = 0
private

◆ getPoolHealthRecord

std::function<string()> Module::Profiler::getPoolHealthRecord
private

◆ healthCallback

APHealthCallback Module::Profiler::healthCallback
private

◆ lastHealthCallbackTime

sys_clock::time_point Module::Profiler::lastHealthCallbackTime
private

◆ mHealthUpdateIntervalInSec

int Module::Profiler::mHealthUpdateIntervalInSec
private

◆ moduleId

string Module::Profiler::moduleId
private

◆ mPipelineFps

double Module::Profiler::mPipelineFps
private

◆ pipelineStart

sys_clock::time_point Module::Profiler::pipelineStart
private

◆ printFrequency

int Module::Profiler::printFrequency
private

◆ processingStart

sys_clock::time_point Module::Profiler::processingStart
private

◆ queSize

double Module::Profiler::queSize = 0
private

◆ shouldLog

bool Module::Profiler::shouldLog = false
private

◆ totalPipelineDuration

double Module::Profiler::totalPipelineDuration = 0
private

◆ totalProcessingDuration

double Module::Profiler::totalProcessingDuration = 0
private

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