|
CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
|
Sliding-window averages derived from successive PerfStats snapshots. More...
#include <MemoryManager.h>
Public Member Functions | |
| std::string | toXML () |
| Render all averaged metrics as a single <performance/> XML element for monitoring. | |
Public Attributes | |
| uint64 | time |
| Timestamp (µs) of the last update. | |
| uint32 | periodsMS [3] |
| The three averaging window lengths in milliseconds. | |
| PerfStats | lastStats |
| Most recent raw snapshot used for delta computation. | |
| double | percentOfSystemCPU [3] |
| Share of the whole Psyclone system's CPU use, per window. | |
| double | percentOfOSCPU [3] |
| Share of the hosting OS process's CPU use, per window. | |
| double | localSystemCPUUsage [3] |
| CPU usage of the local Psyclone system, per window. | |
| double | localSystemMemoryUsage [3] |
| Memory usage of the local Psyclone system, per window. | |
| double | computerCPUUsage [3] |
| Whole-machine CPU usage, per window. | |
| double | computerMemoryUsage [3] |
| Whole-machine memory usage, per window. | |
| uint64 | maxMemoryBytes |
| Peak memory footprint observed. | |
| double | memoryBytesAverage [3] |
| Average memory footprint, per window. | |
| double | dataInputBytesPerSec [3] |
| Input throughput in bytes/s, per window. | |
| double | dataInputCountPerSec [3] |
| Input message rate in msgs/s, per window. | |
| double | dataOutputBytesPerSec [3] |
| Output throughput in bytes/s, per window. | |
| double | dataOutputCountPerSec [3] |
| Output message rate in msgs/s, per window. | |
| double | dataQueueBytesAverage [3] |
| Average queued bytes, per window. | |
| uint64 | dataQueueCountAverage [3] |
| Average queued message count, per window. | |
| double | cycleCountPerSec [3] |
| Processing cycles per second, per window. | |
Sliding-window averages derived from successive PerfStats snapshots.
Each metric is kept for three averaging windows whose lengths (ms) are given in periodsMS[0..2] (typically short/medium/long). Stored in shared memory next to the component/process it describes; serialized for monitoring UIs via toXML().
Definition at line 213 of file MemoryManager.h.
|
inline |
Render all averaged metrics as a single <performance/> XML element for monitoring.
Definition at line 241 of file MemoryManager.h.
References computerCPUUsage, computerMemoryUsage, cycleCountPerSec, dataInputBytesPerSec, dataInputCountPerSec, dataOutputBytesPerSec, dataOutputCountPerSec, dataQueueBytesAverage, dataQueueCountAverage, localSystemCPUUsage, localSystemMemoryUsage, maxMemoryBytes, memoryBytesAverage, percentOfOSCPU, percentOfSystemCPU, periodsMS, cmlabs::utils::StringFormat(), and time.
| double cmlabs::AveragePerfStats::computerCPUUsage[3] |
Whole-machine CPU usage, per window.
Definition at line 223 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::computerMemoryUsage[3] |
Whole-machine memory usage, per window.
Definition at line 224 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::cycleCountPerSec[3] |
Processing cycles per second, per window.
Definition at line 237 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::dataInputBytesPerSec[3] |
Input throughput in bytes/s, per window.
Definition at line 229 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::dataInputCountPerSec[3] |
Input message rate in msgs/s, per window.
Definition at line 230 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::dataOutputBytesPerSec[3] |
Output throughput in bytes/s, per window.
Definition at line 231 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::dataOutputCountPerSec[3] |
Output message rate in msgs/s, per window.
Definition at line 232 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::dataQueueBytesAverage[3] |
Average queued bytes, per window.
Definition at line 234 of file MemoryManager.h.
Referenced by toXML().
| uint64 cmlabs::AveragePerfStats::dataQueueCountAverage[3] |
Average queued message count, per window.
Definition at line 235 of file MemoryManager.h.
Referenced by toXML().
| PerfStats cmlabs::AveragePerfStats::lastStats |
Most recent raw snapshot used for delta computation.
Definition at line 217 of file MemoryManager.h.
| double cmlabs::AveragePerfStats::localSystemCPUUsage[3] |
CPU usage of the local Psyclone system, per window.
Definition at line 221 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::localSystemMemoryUsage[3] |
Memory usage of the local Psyclone system, per window.
Definition at line 222 of file MemoryManager.h.
Referenced by toXML().
| uint64 cmlabs::AveragePerfStats::maxMemoryBytes |
Peak memory footprint observed.
Definition at line 226 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::memoryBytesAverage[3] |
Average memory footprint, per window.
Definition at line 227 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::percentOfOSCPU[3] |
Share of the hosting OS process's CPU use, per window.
Definition at line 220 of file MemoryManager.h.
Referenced by toXML().
| double cmlabs::AveragePerfStats::percentOfSystemCPU[3] |
Share of the whole Psyclone system's CPU use, per window.
Definition at line 219 of file MemoryManager.h.
Referenced by toXML().
| uint32 cmlabs::AveragePerfStats::periodsMS[3] |
The three averaging window lengths in milliseconds.
Definition at line 215 of file MemoryManager.h.
Referenced by toXML().
| uint64 cmlabs::AveragePerfStats::time |
Timestamp (µs) of the last update.
Definition at line 214 of file MemoryManager.h.
Referenced by toXML().