24 #ifndef SKA_CHEETAH_RCPT_RCPTTIMERSTATS_H 25 #define SKA_CHEETAH_RCPT_RCPTTIMERSTATS_H 26 #include "cheetah/rcpt/BeamFormerDataTraits.h" 27 #include "panda/DataRate.h" 28 #pragma GCC diagnostic push 29 #pragma GCC diagnostic ignored "-Wpragmas" 30 #pragma GCC diagnostic ignored "-Wunused-parameter" 31 #include <boost/accumulators/accumulators.hpp> 32 #include <boost/accumulators/statistics/stats.hpp> 33 #include <boost/accumulators/statistics/rolling_mean.hpp> 34 #pragma GCC diagnostic pop 47 template<
typename ClockType>
51 typedef typename ClockType::time_point TimePointType;
52 typedef typename ClockType::duration TimeDurationType;
53 typedef boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::rolling_mean> > RateAccumulatorType;
69 panda::DataRate<double>
data_rate()
const;
78 RateAccumulatorType _data_rates;
79 const std::size_t _window_size;
85 template<
typename StreamType,
typename ClockType>
86 StreamType& operator<<(StreamType& os, RcptTimerStats<ClockType>
const&);
92 #include "cheetah/rcpt/detail/RcptTimerStats.cpp" 94 #endif // SKA_CHEETAH_RCPT_RCPTTIMERSTATS_H
void operator()(typename BeamFormerDataTraits::DataType const &, TimePointType)
add a new datapoint n.b. this is not thread safe.
panda::DataRate< double > data_rate() const
return the average data rate
Some limits and constants for FLDO.
void reset()
reset all counters and set the first timestamp to now
Calculate rcpt specific performance information.