5#include <userver/utils/span.hpp>
6#include <userver/utils/statistics/fwd.hpp>
7#include <userver/utils/statistics/histogram_view.hpp>
12USERVER_NAMESPACE_BEGIN
14namespace utils::statistics {
20class HistogramAggregator
final {
22 explicit HistogramAggregator(
utils::span<
const double> upper_bounds);
24 HistogramAggregator(HistogramAggregator&&)
noexcept;
25 HistogramAggregator& operator=(HistogramAggregator&&)
noexcept;
26 ~HistogramAggregator();
34 void Add(HistogramView other);
37 void AccountAt(std::size_t bucket_index, std::uint64_t count = 1)
noexcept;
50 HistogramView GetView() &&
noexcept =
delete;
54 std::unique_ptr<impl::histogram::Bucket[]> buckets_;
58void DumpMetric(Writer& writer,
const HistogramAggregator& histogram);