diff --git a/util/statistics.cc b/util/statistics.cc index a850445edb..f86eb2c543 100644 --- a/util/statistics.cc +++ b/util/statistics.cc @@ -14,11 +14,9 @@ std::shared_ptr CreateDBStatistics() { return std::make_shared(); } -StatisticsImpl::StatisticsImpl() { - // Fill tickers_ with "zero". To ensure plasform indepedent, we used - // uint_fast64_t() instead literal `0` to represent zero. - std::fill(tickers_, tickers_ + TICKER_ENUM_MAX, uint_fast64_t()); -} +StatisticsImpl::StatisticsImpl() + : tickers_(TICKER_ENUM_MAX), + histograms_(HISTOGRAM_ENUM_MAX) {} StatisticsImpl::~StatisticsImpl() {} diff --git a/util/statistics.h b/util/statistics.h index 36456dddc8..f598bdbf90 100644 --- a/util/statistics.h +++ b/util/statistics.h @@ -8,6 +8,9 @@ #include "util/histogram.h" #include "util/mutexlock.h" +#include +#include + #define UNLIKELY(val) (__builtin_expect((val), 0)) namespace rocksdb { @@ -25,8 +28,8 @@ class StatisticsImpl : public Statistics { HistogramData* const data); private: - std::atomic_uint_fast64_t tickers_[TICKER_ENUM_MAX]; - HistogramImpl histograms_[HISTOGRAM_ENUM_MAX]; + std::vector tickers_; + std::vector histograms_; }; // Utility functions