CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
cmlabs::AveragePerfStats Struct Reference

Sliding-window averages derived from successive PerfStats snapshots. More...

#include <MemoryManager.h>

Collaboration diagram for cmlabs::AveragePerfStats:
[legend]

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.

Detailed Description

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().

Warning
Shared-memory layout; see the file-level ABI warning before changing.

Definition at line 213 of file MemoryManager.h.

Member Function Documentation

◆ toXML()

std::string cmlabs::AveragePerfStats::toXML ( )
inline

Member Data Documentation

◆ computerCPUUsage

double cmlabs::AveragePerfStats::computerCPUUsage[3]

Whole-machine CPU usage, per window.

Definition at line 223 of file MemoryManager.h.

Referenced by toXML().

◆ computerMemoryUsage

double cmlabs::AveragePerfStats::computerMemoryUsage[3]

Whole-machine memory usage, per window.

Definition at line 224 of file MemoryManager.h.

Referenced by toXML().

◆ cycleCountPerSec

double cmlabs::AveragePerfStats::cycleCountPerSec[3]

Processing cycles per second, per window.

Definition at line 237 of file MemoryManager.h.

Referenced by toXML().

◆ dataInputBytesPerSec

double cmlabs::AveragePerfStats::dataInputBytesPerSec[3]

Input throughput in bytes/s, per window.

Definition at line 229 of file MemoryManager.h.

Referenced by toXML().

◆ dataInputCountPerSec

double cmlabs::AveragePerfStats::dataInputCountPerSec[3]

Input message rate in msgs/s, per window.

Definition at line 230 of file MemoryManager.h.

Referenced by toXML().

◆ dataOutputBytesPerSec

double cmlabs::AveragePerfStats::dataOutputBytesPerSec[3]

Output throughput in bytes/s, per window.

Definition at line 231 of file MemoryManager.h.

Referenced by toXML().

◆ dataOutputCountPerSec

double cmlabs::AveragePerfStats::dataOutputCountPerSec[3]

Output message rate in msgs/s, per window.

Definition at line 232 of file MemoryManager.h.

Referenced by toXML().

◆ dataQueueBytesAverage

double cmlabs::AveragePerfStats::dataQueueBytesAverage[3]

Average queued bytes, per window.

Definition at line 234 of file MemoryManager.h.

Referenced by toXML().

◆ dataQueueCountAverage

uint64 cmlabs::AveragePerfStats::dataQueueCountAverage[3]

Average queued message count, per window.

Definition at line 235 of file MemoryManager.h.

Referenced by toXML().

◆ lastStats

PerfStats cmlabs::AveragePerfStats::lastStats

Most recent raw snapshot used for delta computation.

Definition at line 217 of file MemoryManager.h.

◆ localSystemCPUUsage

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().

◆ localSystemMemoryUsage

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().

◆ maxMemoryBytes

uint64 cmlabs::AveragePerfStats::maxMemoryBytes

Peak memory footprint observed.

Definition at line 226 of file MemoryManager.h.

Referenced by toXML().

◆ memoryBytesAverage

double cmlabs::AveragePerfStats::memoryBytesAverage[3]

Average memory footprint, per window.

Definition at line 227 of file MemoryManager.h.

Referenced by toXML().

◆ percentOfOSCPU

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().

◆ percentOfSystemCPU

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().

◆ periodsMS

uint32 cmlabs::AveragePerfStats::periodsMS[3]

The three averaging window lengths in milliseconds.

Definition at line 215 of file MemoryManager.h.

Referenced by toXML().

◆ time

uint64 cmlabs::AveragePerfStats::time

Timestamp (µs) of the last update.

Definition at line 214 of file MemoryManager.h.

Referenced by toXML().


The documentation for this struct was generated from the following file: