APM:Libraries
Public Member Functions | Private Attributes | List of all members
AP::PerfInfo Class Reference

#include <PerfInfo.h>

Public Member Functions

 PerfInfo ()
 
 PerfInfo (const PerfInfo &other)=delete
 
PerfInfooperator= (const PerfInfo &)=delete
 
void reset ()
 
void ignore_this_loop ()
 
void check_loop_time (uint32_t time_in_micros)
 
uint16_t get_num_loops () const
 
uint32_t get_max_time () const
 
uint32_t get_min_time () const
 
uint16_t get_num_long_running () const
 
uint32_t get_avg_time () const
 
uint32_t get_stddev_time () const
 
float get_filtered_time () const
 
void set_loop_rate (uint16_t rate_hz)
 
void update_logging ()
 

Private Attributes

uint16_t loop_rate_hz
 
uint16_t overtime_threshold_micros
 
uint16_t loop_count
 
uint32_t max_time
 
uint32_t min_time
 
uint64_t sigma_time
 
uint64_t sigmasquared_time
 
uint16_t long_running
 
uint32_t last_check_us
 
float filtered_loop_time
 
bool ignore_loop
 

Detailed Description

Definition at line 7 of file PerfInfo.h.

Constructor & Destructor Documentation

◆ PerfInfo() [1/2]

AP::PerfInfo::PerfInfo ( )
inline

Definition at line 9 of file PerfInfo.h.

Here is the call graph for this function:

◆ PerfInfo() [2/2]

AP::PerfInfo::PerfInfo ( const PerfInfo other)
delete

Member Function Documentation

◆ check_loop_time()

void AP::PerfInfo::check_loop_time ( uint32_t  time_in_micros)

Definition at line 32 of file PerfInfo.cpp.

Referenced by AP_Scheduler::loop(), and PerfInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_avg_time()

uint32_t AP::PerfInfo::get_avg_time ( ) const

Definition at line 97 of file PerfInfo.cpp.

Referenced by PerfInfo().

Here is the caller graph for this function:

◆ get_filtered_time()

float AP::PerfInfo::get_filtered_time ( ) const

Definition at line 109 of file PerfInfo.cpp.

Referenced by AP_Scheduler::get_filtered_loop_time(), PerfInfo(), and update_logging().

Here is the caller graph for this function:

◆ get_max_time()

uint32_t AP::PerfInfo::get_max_time ( ) const

Definition at line 79 of file PerfInfo.cpp.

Referenced by AP_Scheduler::Log_Write_Performance(), PerfInfo(), and update_logging().

Here is the caller graph for this function:

◆ get_min_time()

uint32_t AP::PerfInfo::get_min_time ( ) const

Definition at line 85 of file PerfInfo.cpp.

Referenced by PerfInfo(), and update_logging().

Here is the caller graph for this function:

◆ get_num_long_running()

uint16_t AP::PerfInfo::get_num_long_running ( ) const

Definition at line 91 of file PerfInfo.cpp.

Referenced by AP_Scheduler::Log_Write_Performance(), PerfInfo(), and update_logging().

Here is the caller graph for this function:

◆ get_num_loops()

uint16_t AP::PerfInfo::get_num_loops ( ) const

Definition at line 73 of file PerfInfo.cpp.

Referenced by AP_Scheduler::Log_Write_Performance(), PerfInfo(), and update_logging().

Here is the caller graph for this function:

◆ get_stddev_time()

uint32_t AP::PerfInfo::get_stddev_time ( ) const

Definition at line 103 of file PerfInfo.cpp.

Referenced by PerfInfo(), and update_logging().

Here is the caller graph for this function:

◆ ignore_this_loop()

void AP::PerfInfo::ignore_this_loop ( )

Definition at line 26 of file PerfInfo.cpp.

Referenced by PerfInfo().

Here is the caller graph for this function:

◆ operator=()

PerfInfo& AP::PerfInfo::operator= ( const PerfInfo )
delete

Referenced by PerfInfo().

Here is the caller graph for this function:

◆ reset()

void AP::PerfInfo::reset ( void  )

Definition at line 15 of file PerfInfo.cpp.

Referenced by AP_Scheduler::init(), PerfInfo(), and AP_Scheduler::update_logging().

Here is the caller graph for this function:

◆ set_loop_rate()

void AP::PerfInfo::set_loop_rate ( uint16_t  rate_hz)

Definition at line 126 of file PerfInfo.cpp.

Referenced by AP_Scheduler::init(), PerfInfo(), and AP_Scheduler::update_logging().

Here is the caller graph for this function:

◆ update_logging()

void AP::PerfInfo::update_logging ( )

Definition at line 114 of file PerfInfo.cpp.

Referenced by PerfInfo(), and AP_Scheduler::update_logging().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ filtered_loop_time

float AP::PerfInfo::filtered_loop_time
private

Definition at line 39 of file PerfInfo.h.

Referenced by check_loop_time(), get_filtered_time(), and set_loop_rate().

◆ ignore_loop

bool AP::PerfInfo::ignore_loop
private

Definition at line 40 of file PerfInfo.h.

Referenced by check_loop_time(), and ignore_this_loop().

◆ last_check_us

uint32_t AP::PerfInfo::last_check_us
private

Definition at line 38 of file PerfInfo.h.

Referenced by check_loop_time().

◆ long_running

uint16_t AP::PerfInfo::long_running
private

Definition at line 37 of file PerfInfo.h.

Referenced by check_loop_time(), get_num_long_running(), and reset().

◆ loop_count

uint16_t AP::PerfInfo::loop_count
private

Definition at line 32 of file PerfInfo.h.

Referenced by check_loop_time(), get_avg_time(), get_num_loops(), get_stddev_time(), and reset().

◆ loop_rate_hz

uint16_t AP::PerfInfo::loop_rate_hz
private

Definition at line 30 of file PerfInfo.h.

Referenced by set_loop_rate().

◆ max_time

uint32_t AP::PerfInfo::max_time
private

Definition at line 33 of file PerfInfo.h.

Referenced by check_loop_time(), get_max_time(), and reset().

◆ min_time

uint32_t AP::PerfInfo::min_time
private

Definition at line 34 of file PerfInfo.h.

Referenced by check_loop_time(), get_min_time(), and reset().

◆ overtime_threshold_micros

uint16_t AP::PerfInfo::overtime_threshold_micros
private

Definition at line 31 of file PerfInfo.h.

Referenced by check_loop_time(), and set_loop_rate().

◆ sigma_time

uint64_t AP::PerfInfo::sigma_time
private

Definition at line 35 of file PerfInfo.h.

Referenced by check_loop_time(), get_avg_time(), get_stddev_time(), and reset().

◆ sigmasquared_time

uint64_t AP::PerfInfo::sigmasquared_time
private

Definition at line 36 of file PerfInfo.h.

Referenced by check_loop_time(), get_stddev_time(), and reset().


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