Skip to content
Snippets Groups Projects
Commit 986d0cfe authored by Alberto Nidasio's avatar Alberto Nidasio
Browse files

[CPUMeter] Added stack and heap statistics

parent 5267de4e
Branches
Tags
No related merge requests found
...@@ -45,7 +45,11 @@ static volatile unsigned int update = 0; ...@@ -45,7 +45,11 @@ static volatile unsigned int update = 0;
CpuMeterData getCpuStats() CpuMeterData getCpuStats()
{ {
Lock<FastMutex> l(utilizationMutex); Lock<FastMutex> l(utilizationMutex);
return CpuMeterData(TimestampTimer::getTimestamp(), utilization.getStats()); return CpuMeterData(TimestampTimer::getTimestamp(), utilization.getStats(),
MemoryProfiling::getAbsoluteFreeHeap(),
MemoryProfiling::getCurrentFreeHeap(),
MemoryProfiling::getAbsoluteFreeStack(),
MemoryProfiling::getCurrentFreeStack());
} }
void resetCpuStats() { utilization.reset(); } void resetCpuStats() { utilization.reset(); }
......
...@@ -36,12 +36,20 @@ struct CpuMeterData ...@@ -36,12 +36,20 @@ struct CpuMeterData
float stdDev = 0; ///< Standard deviation of dataset. float stdDev = 0; ///< Standard deviation of dataset.
uint32_t nSamples = 0; ///< Number of samples. uint32_t nSamples = 0; ///< Number of samples.
uint32_t minFreeHeap = 0;
uint32_t freeHeap = 0;
uint32_t minFreeStack = 0;
uint32_t freeStack = 0;
CpuMeterData() {} CpuMeterData() {}
explicit CpuMeterData(uint64_t timestamp, StatsResult stats) explicit CpuMeterData(uint64_t timestamp, StatsResult stats,
uint32_t freeHeap, uint32_t minFreeHeap,
uint32_t minFreeStack, uint32_t freeStack)
: timestamp(timestamp), minValue(stats.minValue), : timestamp(timestamp), minValue(stats.minValue),
maxValue(stats.maxValue), mean(stats.mean), stdDev(stats.stdDev), maxValue(stats.maxValue), mean(stats.mean), stdDev(stats.stdDev),
nSamples(stats.nSamples) nSamples(stats.nSamples), minFreeHeap(minFreeHeap),
freeHeap(freeHeap), minFreeStack(minFreeStack), freeStack(freeStack)
{ {
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment