diff options
author | hor911 <hor911@ydb.tech> | 2023-12-07 12:19:24 +0300 |
---|---|---|
committer | hor911 <hor911@ydb.tech> | 2023-12-07 13:22:03 +0300 |
commit | 486a2e0697f435e92b4e37feca8d99765df34fa1 (patch) | |
tree | 402eab74fe11f86fda7e91c52a8a2d806d100d01 | |
parent | 9a6139f092a89bfc1685550d6560c4f79997eae2 (diff) | |
download | ydb-486a2e0697f435e92b4e37feca8d99765df34fa1.tar.gz |
Ignore zero (empty) metrics in aggregated stats
-rw-r--r-- | ydb/core/kqp/executer_actor/kqp_executer_stats.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/ydb/core/kqp/executer_actor/kqp_executer_stats.cpp b/ydb/core/kqp/executer_actor/kqp_executer_stats.cpp index 55393ba34da..514ec903d30 100644 --- a/ydb/core/kqp/executer_actor/kqp_executer_stats.cpp +++ b/ydb/core/kqp/executer_actor/kqp_executer_stats.cpp @@ -168,14 +168,16 @@ TProgressStatEntry operator - (const TProgressStatEntry& l, const TProgressStatE } void UpdateAggr(NDqProto::TDqStatsAggr* aggr, ui64 value) noexcept { - if (aggr->GetMin() == 0) { - aggr->SetMin(value); - } else { - aggr->SetMin(std::min(aggr->GetMin(), value)); + if (value) { + if (aggr->GetMin() == 0) { + aggr->SetMin(value); + } else { + aggr->SetMin(std::min(aggr->GetMin(), value)); + } + aggr->SetMax(std::max(aggr->GetMax(), value)); + aggr->SetSum(aggr->GetSum() + value); + aggr->SetCnt(aggr->GetCnt() + 1); } - aggr->SetMax(std::max(aggr->GetMax(), value)); - aggr->SetSum(aggr->GetSum() + value); - aggr->SetCnt(aggr->GetCnt() + 1); } struct TAsyncGroupStat { @@ -222,12 +224,14 @@ void UpdateAsyncAggr(NDqProto::TDqAsyncStatsAggr& asyncAggr, const NDqProto::TDq } void UpdateMinMax(NDqProto::TDqStatsMinMax* minMax, ui64 value) noexcept { - if (minMax->GetMin() == 0) { - minMax->SetMin(value); - } else { - minMax->SetMin(std::min(minMax->GetMin(), value)); + if (value) { + if (minMax->GetMin() == 0) { + minMax->SetMin(value); + } else { + minMax->SetMin(std::min(minMax->GetMin(), value)); + } + minMax->SetMax(std::max(minMax->GetMax(), value)); } - minMax->SetMax(std::max(minMax->GetMax(), value)); } NDqProto::TDqStageStats* GetOrCreateStageStats(const NYql::NDq::TStageId& stageId, |