36#ifndef IMT_BASE_DFF_RUNTIME_RUNTIMESTATISTICSEVENTS_H
37#define IMT_BASE_DFF_RUNTIME_RUNTIMESTATISTICSEVENTS_H
58 m_eventsAvailable {poolSize},
59 m_eventsAvailableMin {poolSize},
60 m_eventsAvailableSmall {smallPoolSize},
61 m_eventsAvailableSmallMin {smallPoolSize},
62 m_eventsPerSecondAvg {0U},
63 m_eventsPerSecondMax {0U},
64 m_poolSize {poolSize},
65 m_smallPoolSize {smallPoolSize} {};
72 m_eventsPerSecondAvg = averageEventsPerSecond;
73 updateMaxEventsPerSecond(averageEventsPerSecond);
81 updateEventsAvailableMin(eventsAvailable);
82 m_eventsAvailable = eventsAvailable;
90 updateEventsAvailableSmallMin(eventsAvailableSmall);
91 m_eventsAvailableSmall = eventsAvailableSmall;
98 m_eventsAvailable = m_poolSize;
99 m_eventsAvailableMin = m_poolSize;
100 m_eventsAvailableSmall = m_smallPoolSize;
101 m_eventsAvailableSmallMin = m_smallPoolSize;
102 m_eventsPerSecondAvg = 0U;
103 m_eventsPerSecondMax = 0U;
112 void updateEventsAvailableMin(
size_t const eventsAvailable) {
113 if (eventsAvailable < m_eventsAvailableMin) {
114 m_eventsAvailableMin = eventsAvailable;
122 void updateEventsAvailableSmallMin(
size_t const eventsAvailableSmall) {
123 if (eventsAvailableSmall < m_eventsAvailableSmallMin) {
124 m_eventsAvailableSmallMin = eventsAvailableSmall;
132 void updateMaxEventsPerSecond(
uint32_t const currentEventsPerSecond) {
133 if (currentEventsPerSecond > m_eventsPerSecondMax) {
134 m_eventsPerSecondMax = currentEventsPerSecond;
138 size_t m_eventsAvailable;
139 size_t m_eventsAvailableMin;
140 size_t m_eventsAvailableSmall;
141 size_t m_eventsAvailableSmallMin;
146 size_t const m_poolSize;
147 size_t const m_smallPoolSize;
Holds the data for the event usage statistics.
constexpr RuntimeStatisticsEvents(size_t const poolSize, size_t const smallPoolSize=0U) noexcept
Constructor.
void updateAverageEventsPerSecond(uint32_t const averageEventsPerSecond)
Update the average events per second.
void setEventsAvailableSmall(size_t const eventsAvailableSmall)
Set the current available small events, which will also update the minimum available small events.
void setEventsAvailable(size_t const eventsAvailable)
Set the current available events, which will also update the minimum available events.
void reset()
Resets the event statistics.
This is a application specific file which is used to configure Imt.Base.Core.Math.
unsigned __int32 uint32_t