36#ifndef IMT_BASE_DFF_RUNTIME_RUNTIMESTATISTICSEXECUTABLES_H 
   37#define IMT_BASE_DFF_RUNTIME_RUNTIMESTATISTICSEXECUTABLES_H 
   72        if (durationMicroSeconds > m_executionTimeMicroSecondsMax) {
 
   73            m_executionTimeMicroSecondsMax = durationMicroSeconds;
 
   75        if (durationMicroSeconds < m_executionTimeMicroSecondsMin) {
 
   76            m_executionTimeMicroSecondsMin = durationMicroSeconds;
 
   82        float32_t const movingAverage {(0.5F * 
static_cast<float32_t>(durationMicroSeconds)) + (0.5F * 
static_cast<float32_t>(m_executionTimeMicroSecondsAvg))};
 
   93        m_executionCountPerSecond = (m_executionCounter * 1000U) / durationMilliSeconds;
 
   94        if (m_executionCountPerSecond > m_executionCountPerSecondMax) {
 
   95            m_executionCountPerSecondMax = m_executionCountPerSecond;
 
   97        resetExecutionCounter();
 
  104        m_executionCounter = 0U;
 
  105        m_executionCountPerSecond = 0U;
 
  106        m_executionCountPerSecondMax = 0U;
 
  109        m_executionTimeMicroSecondsMax = 0U;
 
  110        m_executionTimeMicroSecondsAvg = 0U;
 
  118    void resetExecutionCounter() {
 
  119        m_executionCounter = 0U;
 
  123    uint32_t m_executionCountPerSecond {0U};
 
  124    uint32_t m_executionCountPerSecondMax {0U};
 
  126    uint32_t m_executionTimeMicroSecondsMax {0U};
 
  127    uint32_t m_executionTimeMicroSecondsAvg {0U};
 
static int32_t roundToInt(T const floatToRoundToInt) noexcept
Round a floating point value to the next integer value.
 
Holds the data for the executable execution statistics.
 
constexpr RuntimeStatisticsExecutables() noexcept=default
Constructor.
 
void reset()
Resets the executables statistics.
 
void updateExecutionTime(uint32_t const durationMicroSeconds)
Updates the maximum, minimum and average execution time.
 
void incrementExecutionCounter()
Increments the execution counter.
 
void updateExecutionCountPerSecond(uint32_t const durationMilliSeconds)
Updates the naximal count and resets the execution counter.
 
This is a application specific file which is used to configure Imt.Base.Core.Math.
 
float float32_t
32 Bits float variable (float)
 
unsigned __int32 uint32_t