diff options
author | lianabatalova <lianabatalova@yandex-team.ru> | 2022-02-10 16:49:11 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:11 +0300 |
commit | e2ac73225f30f7fcf7df3cb225cba257f56144c1 (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/lwtrace/mon/analytics | |
parent | 5bb473368cbb2d67a30433d2cd55e8e32460dea8 (diff) | |
download | ydb-e2ac73225f30f7fcf7df3cb225cba257f56144c1.tar.gz |
Restoring authorship annotation for <lianabatalova@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/lwtrace/mon/analytics')
-rw-r--r-- | library/cpp/lwtrace/mon/analytics/csv_output.h | 4 | ||||
-rw-r--r-- | library/cpp/lwtrace/mon/analytics/data.h | 82 | ||||
-rw-r--r-- | library/cpp/lwtrace/mon/analytics/html_output.h | 8 | ||||
-rw-r--r-- | library/cpp/lwtrace/mon/analytics/transform.h | 52 |
4 files changed, 73 insertions, 73 deletions
diff --git a/library/cpp/lwtrace/mon/analytics/csv_output.h b/library/cpp/lwtrace/mon/analytics/csv_output.h index 7446418c11..90ded32f5d 100644 --- a/library/cpp/lwtrace/mon/analytics/csv_output.h +++ b/library/cpp/lwtrace/mon/analytics/csv_output.h @@ -41,8 +41,8 @@ inline TString ToCsv(const TTable& in, TString sep = TString("\t"), bool head = for (const TString& c : cols) { ss << (first? TString(): sep); first = false; - TString value; - ss << (row.GetAsString(c, value) ? value : TString("-")); + TString value; + ss << (row.GetAsString(c, value) ? value : TString("-")); } ss << Endl; } diff --git a/library/cpp/lwtrace/mon/analytics/data.h b/library/cpp/lwtrace/mon/analytics/data.h index 2998f0adca..4b643fe20b 100644 --- a/library/cpp/lwtrace/mon/analytics/data.h +++ b/library/cpp/lwtrace/mon/analytics/data.h @@ -3,57 +3,57 @@ #include <util/generic/string.h> #include <util/generic/hash.h> #include <util/generic/vector.h> -#include <util/string/builder.h> -#include <util/string/cast.h> +#include <util/string/builder.h> +#include <util/string/cast.h> + +#include <variant> -#include <variant> - namespace NAnalytics { -using TRowValue = std::variant<i64, ui64, double, TString>; - -TString ToString(const TRowValue& val) { - TStringBuilder builder; - std::visit([&builder] (auto&& arg) { - builder << arg; - }, val); - return builder; -} - -struct TRow : public THashMap<TString, TRowValue> { +using TRowValue = std::variant<i64, ui64, double, TString>; + +TString ToString(const TRowValue& val) { + TStringBuilder builder; + std::visit([&builder] (auto&& arg) { + builder << arg; + }, val); + return builder; +} + +struct TRow : public THashMap<TString, TRowValue> { TString Name; - template<typename T> - bool Get(const TString& name, T& value) const { - if constexpr (std::is_same_v<double, T>) { - if (name == "_count") { // Special values - value = 1.0; - return true; - } + template<typename T> + bool Get(const TString& name, T& value) const { + if constexpr (std::is_same_v<double, T>) { + if (name == "_count") { // Special values + value = 1.0; + return true; + } } auto iter = find(name); if (iter != end()) { - try { - value = std::get<T>(iter->second); - return true; - } catch (...) {} - } - return false; - } - - template<typename T = double> - T GetOrDefault(const TString& name, T dflt = T()) { - Get(name, dflt); - return dflt; - } - - bool GetAsString(const TString& name, TString& value) const { - auto iter = find(name); - if (iter != end()) { - value = ToString(iter->second); + try { + value = std::get<T>(iter->second); + return true; + } catch (...) {} + } + return false; + } + + template<typename T = double> + T GetOrDefault(const TString& name, T dflt = T()) { + Get(name, dflt); + return dflt; + } + + bool GetAsString(const TString& name, TString& value) const { + auto iter = find(name); + if (iter != end()) { + value = ToString(iter->second); return true; } - return false; + return false; } }; diff --git a/library/cpp/lwtrace/mon/analytics/html_output.h b/library/cpp/lwtrace/mon/analytics/html_output.h index 4ea65eff63..f775f216b9 100644 --- a/library/cpp/lwtrace/mon/analytics/html_output.h +++ b/library/cpp/lwtrace/mon/analytics/html_output.h @@ -35,8 +35,8 @@ inline TString ToHtml(const TTable& in) ss << "<th>" << row.Name << "</th>"; } for (const TString& c : cols) { - TString value; - ss << "<td>" << (row.GetAsString(c, value) ? value : TString("-")) << "</td>"; + TString value; + ss << "<td>" << (row.GetAsString(c, value) ? value : TString("-")) << "</td>"; } ss << "</tr>"; } @@ -73,8 +73,8 @@ inline TString ToTransposedHtml(const TTable& in) ss << "<tr>"; ss << "<th>" << c << "</th>"; for (const TRow& row : in) { - TString value; - ss << "<td>" << (row.GetAsString(c, value) ? value : TString("-")) << "</td>"; + TString value; + ss << "<td>" << (row.GetAsString(c, value) ? value : TString("-")) << "</td>"; } ss << "</tr>"; } diff --git a/library/cpp/lwtrace/mon/analytics/transform.h b/library/cpp/lwtrace/mon/analytics/transform.h index e821ce566f..f7dc9adb5b 100644 --- a/library/cpp/lwtrace/mon/analytics/transform.h +++ b/library/cpp/lwtrace/mon/analytics/transform.h @@ -35,12 +35,12 @@ inline TTable Histogram(const TTable& in, TSkip skip, double y = y_in(row); ysum += y; if (i >= 0 && i < buckets) { - out[i][yn_sum] = y + out[i].GetOrDefault(yn_sum, 0.0); + out[i][yn_sum] = y + out[i].GetOrDefault(yn_sum, 0.0); } } for (TRow& row : out) { if (ysum != 0.0) { - row[yn_share] = row.GetOrDefault(yn_sum, 0.0) / ysum; + row[yn_share] = row.GetOrDefault(yn_sum, 0.0) / ysum; } } return out; @@ -90,21 +90,21 @@ inline TTable HistogramAll(const TTable& in, const TString& xn, double x1, doubl if (yn == xn) { continue; } - double y; - if (!row_in.Get(yn, y)) { - continue; - } + double y; + if (!row_in.Get(yn, y)) { + continue; + } colSum[yn] += y; if (i >= 0 && i < buckets) { - out[i][yn + "_cnt"] = out[i].GetOrDefault(yn + "_cnt") + 1; - out[i][yn + "_sum"] = out[i].GetOrDefault(yn + "_sum") + y; + out[i][yn + "_cnt"] = out[i].GetOrDefault(yn + "_cnt") + 1; + out[i][yn + "_sum"] = out[i].GetOrDefault(yn + "_sum") + y; if (out[i].contains(yn + "_min")) { - out[i][yn + "_min"] = Min(y, out[i].GetOrDefault(yn + "_min")); + out[i][yn + "_min"] = Min(y, out[i].GetOrDefault(yn + "_min")); } else { out[i][yn + "_min"] = y; } if (out[i].contains(yn + "_max")) { - out[i][yn + "_max"] = Max(y, out[i].GetOrDefault(yn + "_max")); + out[i][yn + "_max"] = Max(y, out[i].GetOrDefault(yn + "_max")); } else { out[i][yn + "_max"] = y; } @@ -112,19 +112,19 @@ inline TTable HistogramAll(const TTable& in, const TString& xn, double x1, doubl } colSum["_count"]++; if (i >= 0 && i < buckets) { - out[i]["_count_sum"] = out[i].GetOrDefault("_count_sum") + 1; + out[i]["_count_sum"] = out[i].GetOrDefault("_count_sum") + 1; } } for (TRow& row : out) { for (const TString& col : cols) { double ysum = colSum[col]; if (col != "_count") { - if (row.GetOrDefault(col + "_cnt") != 0.0) { - row[col + "_avg"] = row.GetOrDefault(col + "_sum") / row.GetOrDefault(col + "_cnt"); + if (row.GetOrDefault(col + "_cnt") != 0.0) { + row[col + "_avg"] = row.GetOrDefault(col + "_sum") / row.GetOrDefault(col + "_cnt"); } } if (ysum != 0.0) { - row[col + "_share"] = row.GetOrDefault(col + "_sum") / ysum; + row[col + "_share"] = row.GetOrDefault(col + "_sum") / ysum; } } } @@ -158,10 +158,10 @@ inline TMatrix CovarianceMatrix(const TTable& in) for (const TRow& row : in) { for (const auto& kv : row) { const TString& xn = kv.first; - double x; - if (!row.Get(xn, x)) { - continue; - } + double x; + if (!row.Get(xn, x)) { + continue; + } TAggregate& aggr = colAggr[xn]; aggr.Sum += x; aggr.Count++; @@ -177,16 +177,16 @@ inline TMatrix CovarianceMatrix(const TTable& in) TMatrix cov(cols.size(), cols.size()); for (const TRow& row : in) { for (const auto& kv1 : row) { - double x; - if (!row.Get(kv1.first, x)) { - continue; - } + double x; + if (!row.Get(kv1.first, x)) { + continue; + } TAggregate& xaggr = colAggr[kv1.first]; for (const auto& kv2 : row) { - double y; - if (!row.Get(kv2.first, y)) { - continue; - } + double y; + if (!row.Get(kv2.first, y)) { + continue; + } TAggregate& yaggr = colAggr[kv2.first]; covCount.Cell(xaggr.Idx, yaggr.Idx)++; cov.Cell(xaggr.Idx, yaggr.Idx) += (x - xaggr.Mean) * (y - yaggr.Mean); |