diff options
author | nga <nga@yandex-team.ru> | 2022-02-10 16:48:09 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:48:09 +0300 |
commit | 1f553f46fb4f3c5eec631352cdd900a0709016af (patch) | |
tree | a231fba2c03b440becaea6c86a2702d0bfb0336e /library/cpp/messagebus/duration_histogram.cpp | |
parent | c4de7efdedc25b49cbea74bd589eecb61b55b60a (diff) | |
download | ydb-1f553f46fb4f3c5eec631352cdd900a0709016af.tar.gz |
Restoring authorship annotation for <nga@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/messagebus/duration_histogram.cpp')
-rw-r--r-- | library/cpp/messagebus/duration_histogram.cpp | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/library/cpp/messagebus/duration_histogram.cpp b/library/cpp/messagebus/duration_histogram.cpp index 32a0001d41..5217314776 100644 --- a/library/cpp/messagebus/duration_histogram.cpp +++ b/library/cpp/messagebus/duration_histogram.cpp @@ -1,74 +1,74 @@ #include "duration_histogram.h" #include <util/generic/singleton.h> -#include <util/stream/str.h> - -namespace { - ui64 SecondsRound(TDuration d) { - if (d.MilliSeconds() % 1000 >= 500) { - return d.Seconds() + 1; - } else { - return d.Seconds(); - } - } - - ui64 MilliSecondsRound(TDuration d) { - if (d.MicroSeconds() % 1000 >= 500) { - return d.MilliSeconds() + 1; - } else { - return d.MilliSeconds(); - } - } - - ui64 MinutesRound(TDuration d) { - if (d.Seconds() % 60 >= 30) { - return d.Minutes() + 1; - } else { - return d.Minutes(); - } - } - -} - -namespace { - struct TMarks { +#include <util/stream/str.h> + +namespace { + ui64 SecondsRound(TDuration d) { + if (d.MilliSeconds() % 1000 >= 500) { + return d.Seconds() + 1; + } else { + return d.Seconds(); + } + } + + ui64 MilliSecondsRound(TDuration d) { + if (d.MicroSeconds() % 1000 >= 500) { + return d.MilliSeconds() + 1; + } else { + return d.MilliSeconds(); + } + } + + ui64 MinutesRound(TDuration d) { + if (d.Seconds() % 60 >= 30) { + return d.Minutes() + 1; + } else { + return d.Minutes(); + } + } + +} + +namespace { + struct TMarks { std::array<TDuration, TDurationHistogram::Buckets> Marks; - - TMarks() { - Marks[0] = TDuration::Zero(); - for (unsigned i = 1; i < TDurationHistogram::Buckets; ++i) { - if (i >= TDurationHistogram::SecondBoundary) { - Marks[i] = TDuration::Seconds(1) * (1 << (i - TDurationHistogram::SecondBoundary)); - } else { - Marks[i] = TDuration::Seconds(1) / (1 << (TDurationHistogram::SecondBoundary - i)); - } - } - } - }; -} - + + TMarks() { + Marks[0] = TDuration::Zero(); + for (unsigned i = 1; i < TDurationHistogram::Buckets; ++i) { + if (i >= TDurationHistogram::SecondBoundary) { + Marks[i] = TDuration::Seconds(1) * (1 << (i - TDurationHistogram::SecondBoundary)); + } else { + Marks[i] = TDuration::Seconds(1) / (1 << (TDurationHistogram::SecondBoundary - i)); + } + } + } + }; +} + TString TDurationHistogram::LabelBefore(unsigned i) { Y_VERIFY(i < Buckets); - - TDuration d = Singleton<TMarks>()->Marks[i]; - - TStringStream ss; - if (d == TDuration::Zero()) { - ss << "0"; - } else if (d < TDuration::Seconds(1)) { - ss << MilliSecondsRound(d) << "ms"; - } else if (d < TDuration::Minutes(1)) { - ss << SecondsRound(d) << "s"; - } else { - ss << MinutesRound(d) << "m"; - } - return ss.Str(); -} - + + TDuration d = Singleton<TMarks>()->Marks[i]; + + TStringStream ss; + if (d == TDuration::Zero()) { + ss << "0"; + } else if (d < TDuration::Seconds(1)) { + ss << MilliSecondsRound(d) << "ms"; + } else if (d < TDuration::Minutes(1)) { + ss << SecondsRound(d) << "s"; + } else { + ss << MinutesRound(d) << "m"; + } + return ss.Str(); +} + TString TDurationHistogram::PrintToString() const { - TStringStream ss; + TStringStream ss; for (auto time : Times) { ss << time << "\n"; - } - return ss.Str(); -} + } + return ss.Str(); +} |