aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhor911 <hor911@ydb.tech>2023-06-06 18:21:05 +0300
committerhor911 <hor911@ydb.tech>2023-06-06 18:21:05 +0300
commitd0bbc6698a9beab10362d6e0ac5ad09e5497f94f (patch)
treea680207c65edec0e140f817a48187acb67f6bb80
parent80cf01289fdbfba3645a843027d570645d547991 (diff)
downloadydb-d0bbc6698a9beab10362d6e0ac5ad09e5497f94f.tar.gz
Format TInstant/TDuration
-rw-r--r--ydb/core/fq/libs/actors/run_actor.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/ydb/core/fq/libs/actors/run_actor.cpp b/ydb/core/fq/libs/actors/run_actor.cpp
index d2ccb7bda7..5eff64fb87 100644
--- a/ydb/core/fq/libs/actors/run_actor.cpp
+++ b/ydb/core/fq/libs/actors/run_actor.cpp
@@ -1009,6 +1009,7 @@ private:
struct TStatisticsNode {
std::map<TString, TStatisticsNode> Children;
+ TString Name;
i64 Avg;
i64 Count;
i64 Min;
@@ -1017,6 +1018,29 @@ private:
void Write(NYson::TYsonWriter& writer) {
writer.OnBeginMap();
if (Children.empty()) {
+ if (Name.EndsWith("Us")) { // TDuration
+ writer.OnKeyedItem("sum");
+ writer.OnStringScalar(TDuration::MicroSeconds(Sum).ToString());
+ writer.OnKeyedItem("count");
+ writer.OnInt64Scalar(Count);
+ writer.OnKeyedItem("avg");
+ writer.OnStringScalar(TDuration::MicroSeconds(Avg).ToString());
+ writer.OnKeyedItem("max");
+ writer.OnStringScalar(TDuration::MicroSeconds(Max).ToString());
+ writer.OnKeyedItem("min");
+ writer.OnStringScalar(TDuration::MicroSeconds(Min).ToString());
+ } else if (Name.EndsWith("Ms")) { // TInstant
+ writer.OnKeyedItem("sum");
+ writer.OnStringScalar("N/A");
+ writer.OnKeyedItem("count");
+ writer.OnInt64Scalar(Count);
+ writer.OnKeyedItem("avg");
+ writer.OnStringScalar(TInstant::MilliSeconds(Avg).FormatLocalTime("%H:%M:%S.%ms"));
+ writer.OnKeyedItem("max");
+ writer.OnStringScalar(TInstant::MilliSeconds(Max).FormatLocalTime("%H:%M:%S.%ms"));
+ writer.OnKeyedItem("min");
+ writer.OnStringScalar(TInstant::MilliSeconds(Min).FormatLocalTime("%H:%M:%S.%ms"));
+ } else {
writer.OnKeyedItem("sum");
writer.OnInt64Scalar(Sum);
writer.OnKeyedItem("count");
@@ -1027,6 +1051,7 @@ private:
writer.OnInt64Scalar(Max);
writer.OnKeyedItem("min");
writer.OnInt64Scalar(Min);
+ }
} else {
for (auto& [name, child]: Children) {
writer.OnKeyedItem(name);
@@ -1063,6 +1088,7 @@ private:
node = &node->Children[name];
+ node->Name = name;
node->Sum = metric.GetSum();
node->Count = metric.GetCount();
node->Avg = metric.GetAvg();