ddc
|
#include <ddcTime.h>
Public Types | |
typedef size_t | DelayT |
typedef double | ValueT |
typedef DDCTimeHiRes | TimeT |
typedef std::map< DelayT, ValueT > | MapT |
Public Member Functions | |
DDCTimeAvg (DelayT delay1=60, DelayT delay2=300, DelayT delay3=900, ValueT val=0) | |
DDCTimeAvg (const std::vector< DelayT > &delays, ValueT val=0) | |
DDCTimeAvg (const DDCTimeAvg &X) | |
void | reset (ValueT val=0) |
void | clear () |
void | SetDelays (const std::vector< DelayT > &delays, ValueT val=0) |
void | SetDelays (DelayT delay1=60, DelayT delay2=300, DelayT delay3=900, ValueT val=0) |
void | SetDelays (const MapT &delayMap) |
MapT & | Append (ValueT sample, const TimeT &when, size_t n=1) |
MapT & | Append (ValueT sample=0) |
void | AppendTotal (ValueT sample) |
DDCTimeAvg & | operator+= (const DDCTimeAvg &x) |
void | Scrub () |
const MapT & | Values () const |
const TimeT & | Time () const |
ValueT | Total () const |
ValueT | Average () const |
ValueT | tAverage () const |
std::string | toJsonArray () const |
std::string | toJsonMap () const |
Public Attributes | |
MapT | m_map |
TimeT | m_t |
ValueT | m_total |
size_t | m_n |
typedef size_t DDCTimeAvg::DelayT |
typedef for delay keys (in seconds)
typedef double DDCTimeAvg::ValueT |
typedef for moving-average samples and values
typedef DDCTimeHiRes DDCTimeAvg::TimeT |
typedef for timestamps
typedef std::map<DelayT,ValueT> DDCTimeAvg::MapT |
typedef for delay-to-value map
|
inline |
constructor given up to three delays and optional initial value
References DDCTimeHiRes::Set().
constructor given delays as vector and optional initial value
References DDCTimeHiRes::Set().
|
inline |
copy constructor
void DDCTimeAvg::reset | ( | ValueT | val = 0 | ) |
reset sample values to zero
Referenced by CDDCServerStats::clear().
|
inline |
clear all data
set delays, given vector of delay keys
void DDCTimeAvg::SetDelays | ( | DelayT | delay1 = 60 , |
DelayT | delay2 = 300 , |
||
DelayT | delay3 = 900 , |
||
ValueT | val = 0 |
||
) |
convenience method for setting up to 3 delays (zero delay-values are ignored)
|
inline |
set delays, given a map of delay-keys to moving-average values
DDCTimeAvg::MapT & DDCTimeAvg::Append | ( | ValueT | sample, |
const TimeT & | when, | ||
size_t | n = 1 |
||
) |
append a new sample value with timestamp when
References DDCTimeHiRes::Elapsed(), and SIZE_MAX.
Referenced by CDDCServer::ProcessSocketString().
append a new sample value with current timestamp
|
inline |
append a new sample to the total only
Referenced by CDDCServer::ProcessSocketString().
|
inline |
hack: add EMA data from another object
|
inline |
alias used by CDDCLeafServer::handle__status() to synchronize times: causes moving-averages to decay
Referenced by CDDCLeafServer::handle__status().
|
inline |
get most recent sample-values (undecayed)
|
inline |
get most recent sample timestamp
References DDCTimeUnix::m_t.
|
inline |
|
inline |
get global average value
Referenced by CDDCLeafServer::handle__status().
|
inline |
get highest-resolution average value; used by CDDCLeafServer::handle__status() for compatiblity reports
string DDCTimeAvg::toJsonArray | ( | ) | const |
get JSON-array string of averages in ascending order of delay key
References Format().
Referenced by CDDCLeafServer::handle__status().
string DDCTimeAvg::toJsonMap | ( | ) | const |
get JSON-map string of averages in ascending order of delay key
References Format().
MapT DDCTimeAvg::m_map |
maps decay delays to current moving average values
TimeT DDCTimeAvg::m_t |
timestamp of the current sample as returned by DDCTime::Now()
ValueT DDCTimeAvg::m_total |
global sample total
size_t DDCTimeAvg::m_n |
global number of samples
Referenced by operator+=().