Histogram

template<uint64_t N0, uint64_t N1, uint64_t N2, uint64_t N3, uint64_t N4, uint64_t N5>
struct Histogram : public roq::utils::metrics::detail::Base

Histogram.

Public Types

using value_type = uint64_t

Public Functions

inline value_type threshold() const
inline void prefetch() noexcept

Prefetch data into L1 cache.

inline bool update(value_type value) noexcept

Update histogram with specific value.

inline roq::metrics::Writer &write(roq::metrics::Writer &writer, std::string_view const &name) const
inline roq::metrics::Writer &write(roq::metrics::Writer &writer, std::string_view const &name, std::string_view const &labels) const
Base() = default
explicit Base(std::string_view const &labels)
Base(std::string_view const &label_name_0, std::string_view const &label_value_0)
Base(std::string_view const &label_name_0, std::string_view const &label_value_0, std::string_view const &label_name_1, std::string_view const &label_value_1)
Base(std::string_view const &label_name_0, std::string_view const &label_value_0, std::string_view const &label_name_1, std::string_view const &label_value_1, std::string_view const &label_name_2, std::string_view const &label_value_2)
Base(std::string_view const &label_name_0, std::string_view const &label_value_0, std::string_view const &label_name_1, std::string_view const &label_value_1, std::string_view const &label_name_2, std::string_view const &label_value_2, std::string_view const &label_name_3, std::string_view const &label_value_3)
Base(Base const&) = delete
Base(Base&&) = delete

Public Members

value_type const threshold_0 = N0
value_type const threshold_1 = N1
value_type const threshold_2 = N2
value_type const threshold_3 = N3
value_type const threshold_4 = N4
value_type const threshold_5 = N5