proxygen
|
#include <MultiLevelTimeSeries.h>
Public Types | |
using | ValueType = VT |
using | Clock = CT |
using | Duration = typename Clock::duration |
using | TimePoint = typename Clock::time_point |
using | Level = folly::BucketedTimeSeries< ValueType, Clock > |
Public Member Functions | |
MultiLevelTimeSeries (size_t numBuckets, size_t numLevels, const Duration levelDurations[]) | |
MultiLevelTimeSeries (size_t numBuckets, std::initializer_list< Duration > durations) | |
size_t | numBuckets () const |
size_t | numLevels () const |
const Level & | getLevel (size_t level) const |
const Level & | getLevel (TimePoint start) const |
const Level & | getLevelByDuration (Duration duration) const |
ValueType | sum (size_t level) const |
template<typename ReturnType = double> | |
ReturnType | avg (size_t level) const |
template<typename ReturnType = double, typename Interval = Duration> | |
ReturnType | rate (size_t level) const |
uint64_t | count (size_t level) const |
template<typename ReturnType = double, typename Interval = Duration> | |
ReturnType | countRate (size_t level) const |
ValueType | sum (Duration duration) const |
template<typename ReturnType = double> | |
ReturnType | avg (Duration duration) const |
template<typename ReturnType = double, typename Interval = Duration> | |
ReturnType | rate (Duration duration) const |
uint64_t | count (Duration duration) const |
template<typename ReturnType = double, typename Interval = Duration> | |
ReturnType | countRate (Duration duration) const |
ValueType | sum (TimePoint start, TimePoint end) const |
template<typename ReturnType = double> | |
ReturnType | avg (TimePoint start, TimePoint end) const |
template<typename ReturnType = double> | |
ReturnType | rate (TimePoint start, TimePoint end) const |
uint64_t | count (TimePoint start, TimePoint end) const |
void | addValue (TimePoint now, const ValueType &val) |
void | addValue (TimePoint now, const ValueType &val, uint64_t times) |
void | addValueAggregated (TimePoint now, const ValueType &total, uint64_t nsamples) |
void | update (TimePoint now) |
void | clear () |
void | flush () |
void | update (Duration now) |
void | addValue (Duration now, const ValueType &value) |
void | addValue (Duration now, const ValueType &value, uint64_t times) |
void | addValueAggregated (Duration now, const ValueType &total, uint64_t nsamples) |
Private Attributes | |
std::vector< Level > | levels_ |
TimePoint | cachedTime_ |
ValueType | cachedSum_ |
uint64_t | cachedCount_ |
Definition at line 53 of file MultiLevelTimeSeries.h.
using folly::MultiLevelTimeSeries< VT, CT >::Clock = CT |
Definition at line 56 of file MultiLevelTimeSeries.h.
using folly::MultiLevelTimeSeries< VT, CT >::Duration = typename Clock::duration |
Definition at line 57 of file MultiLevelTimeSeries.h.
using folly::MultiLevelTimeSeries< VT, CT >::Level = folly::BucketedTimeSeries<ValueType, Clock> |
Definition at line 59 of file MultiLevelTimeSeries.h.
using folly::MultiLevelTimeSeries< VT, CT >::TimePoint = typename Clock::time_point |
Definition at line 58 of file MultiLevelTimeSeries.h.
using folly::MultiLevelTimeSeries< VT, CT >::ValueType = VT |
Definition at line 55 of file MultiLevelTimeSeries.h.
folly::MultiLevelTimeSeries< VT, CT >::MultiLevelTimeSeries | ( | size_t | numBuckets, |
size_t | numLevels, | ||
const Duration | levelDurations[] | ||
) |
Definition at line 25 of file MultiLevelTimeSeries-defs.h.
References i, and folly::MultiLevelTimeSeries< VT, CT >::levels_.
folly::MultiLevelTimeSeries< VT, CT >::MultiLevelTimeSeries | ( | size_t | numBuckets, |
std::initializer_list< Duration > | durations | ||
) |
Definition at line 45 of file MultiLevelTimeSeries-defs.h.
References i, and folly::MultiLevelTimeSeries< VT, CT >::levels_.
void folly::MultiLevelTimeSeries< VT, CT >::addValue | ( | TimePoint | now, |
const ValueType & | val | ||
) |
Definition at line 67 of file MultiLevelTimeSeries-defs.h.
References folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated().
Referenced by folly::MultiLevelTimeSeries< VT, CT >::addValue(), folly::MultiLevelTimeSeries< VT, CT >::count(), and TEST().
void folly::MultiLevelTimeSeries< VT, CT >::addValue | ( | TimePoint | now, |
const ValueType & | val, | ||
uint64_t | times | ||
) |
Definition at line 74 of file MultiLevelTimeSeries-defs.h.
References folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated().
|
inline |
Definition at line 418 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::addValue().
|
inline |
Definition at line 421 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::addValue().
void folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated | ( | TimePoint | now, |
const ValueType & | total, | ||
uint64_t | nsamples | ||
) |
Definition at line 82 of file MultiLevelTimeSeries-defs.h.
References folly::MultiLevelTimeSeries< VT, CT >::cachedCount_, folly::MultiLevelTimeSeries< VT, CT >::cachedSum_, folly::MultiLevelTimeSeries< VT, CT >::cachedTime_, folly::MultiLevelTimeSeries< VT, CT >::flush(), and now().
Referenced by folly::MultiLevelTimeSeries< VT, CT >::addValue(), folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated(), and folly::MultiLevelTimeSeries< VT, CT >::count().
|
inline |
Definition at line 425 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated().
|
inline |
Definition at line 178 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevel().
Referenced by TEST().
|
inline |
Definition at line 244 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevelByDuration().
|
inline |
Definition at line 327 of file MultiLevelTimeSeries.h.
References folly::test::end(), folly::MultiLevelTimeSeries< VT, CT >::getLevel(), and start.
void folly::MultiLevelTimeSeries< VT, CT >::clear | ( | ) |
Definition at line 115 of file MultiLevelTimeSeries-defs.h.
References folly::MultiLevelTimeSeries< VT, CT >::cachedCount_, folly::MultiLevelTimeSeries< VT, CT >::cachedSum_, folly::MultiLevelTimeSeries< VT, CT >::cachedTime_, and folly::MultiLevelTimeSeries< VT, CT >::levels_.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::count(), and TEST().
|
inline |
Definition at line 202 of file MultiLevelTimeSeries.h.
References folly::BucketedTimeSeries< VT, CT >::count(), and folly::MultiLevelTimeSeries< VT, CT >::getLevel().
Referenced by TEST().
|
inline |
Definition at line 274 of file MultiLevelTimeSeries.h.
References folly::BucketedTimeSeries< VT, CT >::count(), and folly::MultiLevelTimeSeries< VT, CT >::getLevelByDuration().
|
inline |
Definition at line 356 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::addValue(), folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated(), folly::MultiLevelTimeSeries< VT, CT >::clear(), folly::BucketedTimeSeries< VT, CT >::count(), folly::MultiLevelTimeSeries< VT, CT >::flush(), folly::MultiLevelTimeSeries< VT, CT >::getLevel(), now(), folly::times(), uint64_t, folly::MultiLevelTimeSeries< VT, CT >::update(), and val.
|
inline |
Definition at line 214 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevel().
|
inline |
Definition at line 289 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevelByDuration().
void folly::MultiLevelTimeSeries< VT, CT >::flush | ( | ) |
Definition at line 103 of file MultiLevelTimeSeries-defs.h.
References folly::MultiLevelTimeSeries< VT, CT >::cachedCount_, folly::MultiLevelTimeSeries< VT, CT >::cachedSum_, folly::MultiLevelTimeSeries< VT, CT >::cachedTime_, i, and folly::MultiLevelTimeSeries< VT, CT >::levels_.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated(), folly::MultiLevelTimeSeries< VT, CT >::count(), TEST(), and folly::MultiLevelTimeSeries< VT, CT >::update().
|
inline |
Definition at line 103 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::levels_.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::avg(), folly::MultiLevelTimeSeries< VT, CT >::count(), folly::MultiLevelTimeSeries< VT, CT >::countRate(), folly::MultiLevelTimeSeries< VT, CT >::rate(), folly::MultiLevelTimeSeries< VT, CT >::sum(), and TEST().
|
inline |
Definition at line 116 of file MultiLevelTimeSeries.h.
References folly::BucketedTimeSeries< VT, CT >::count(), folly::FATAL, folly::MultiLevelTimeSeries< VT, CT >::levels_, and start.
|
inline |
Definition at line 142 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::levels_.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::avg(), folly::MultiLevelTimeSeries< VT, CT >::count(), folly::MultiLevelTimeSeries< VT, CT >::countRate(), folly::MultiLevelTimeSeries< VT, CT >::rate(), and folly::MultiLevelTimeSeries< VT, CT >::sum().
|
inline |
Definition at line 84 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::levels_.
|
inline |
Definition at line 92 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::levels_.
Referenced by TEST().
|
inline |
Definition at line 191 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevel().
Referenced by TEST().
|
inline |
Definition at line 260 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevelByDuration().
|
inline |
Definition at line 342 of file MultiLevelTimeSeries.h.
References folly::test::end(), folly::MultiLevelTimeSeries< VT, CT >::getLevel(), and start.
|
inline |
Definition at line 162 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevel(), and folly::BucketedTimeSeries< VT, CT >::sum().
Referenced by TEST().
|
inline |
Definition at line 228 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevelByDuration(), and folly::BucketedTimeSeries< VT, CT >::sum().
|
inline |
Definition at line 312 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::getLevel(), and folly::BucketedTimeSeries< VT, CT >::sum().
void folly::MultiLevelTimeSeries< VT, CT >::update | ( | TimePoint | now | ) |
Definition at line 95 of file MultiLevelTimeSeries-defs.h.
References folly::MultiLevelTimeSeries< VT, CT >::flush(), i, and folly::MultiLevelTimeSeries< VT, CT >::levels_.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::count(), and folly::MultiLevelTimeSeries< VT, CT >::update().
|
inline |
Definition at line 415 of file MultiLevelTimeSeries.h.
References folly::MultiLevelTimeSeries< VT, CT >::update().
|
private |
Definition at line 437 of file MultiLevelTimeSeries.h.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated(), folly::MultiLevelTimeSeries< VT, CT >::clear(), and folly::MultiLevelTimeSeries< VT, CT >::flush().
|
private |
Definition at line 436 of file MultiLevelTimeSeries.h.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated(), folly::MultiLevelTimeSeries< VT, CT >::clear(), and folly::MultiLevelTimeSeries< VT, CT >::flush().
|
private |
Definition at line 435 of file MultiLevelTimeSeries.h.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::addValueAggregated(), folly::MultiLevelTimeSeries< VT, CT >::clear(), and folly::MultiLevelTimeSeries< VT, CT >::flush().
|
private |
Definition at line 430 of file MultiLevelTimeSeries.h.
Referenced by folly::MultiLevelTimeSeries< VT, CT >::clear(), folly::MultiLevelTimeSeries< VT, CT >::flush(), folly::MultiLevelTimeSeries< VT, CT >::getLevel(), folly::MultiLevelTimeSeries< VT, CT >::getLevelByDuration(), folly::MultiLevelTimeSeries< VT, CT >::MultiLevelTimeSeries(), folly::MultiLevelTimeSeries< VT, CT >::numBuckets(), folly::MultiLevelTimeSeries< VT, CT >::numLevels(), and folly::MultiLevelTimeSeries< VT, CT >::update().