6#include <unordered_map>
10namespace congestion_control {
17 std::uint64_t current_load{0};
18 std::uint64_t overload_events_count{0};
19 std::uint64_t no_overload_events_count{0};
20 std::chrono::steady_clock::time_point tp;
22 double GetLoadPercent()
const;
25 virtual ~Sensor() =
default;
37 static constexpr auto kCommonObjectName =
"common";
40 std::size_t timeouts{0};
41 std::size_t timings_sum_ms{0};
43 double GetRate()
const {
return static_cast<
double>(timeouts) / (total ? total : 1); }
44 std::string ToLogString()
const;
49 std::size_t current_load{0};
52 virtual ~Sensor() =
default;
54 virtual Data GetCurrent() = 0;