Skip to content

Commit 272ffc2

Browse files
authored
Ignore invalid timeseries in plan2svg (#20345)
1 parent c4a3f02 commit 272ffc2

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

ydb/public/lib/ydb_cli/common/plan2svg.cpp

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,11 +219,26 @@ void TMetricHistory::Load(const NJson::TJsonValue& node, ui64 explicitMinTime, u
219219
std::vector<ui64> values;
220220

221221
bool even = true;
222+
bool first_item = true;
223+
ui64 last_time = 0;
222224

223225
for (const auto& subNode : node.GetArray()) {
224226
ui64 i = subNode.GetIntegerSafe();
225-
if (even) times.push_back(i);
226-
else values.push_back(i);
227+
if (even) {
228+
if (first_item) {
229+
first_item = false;
230+
} else {
231+
// time should increase monotonously
232+
if (i <= last_time) {
233+
// just ignore tail otherwise
234+
break;
235+
}
236+
}
237+
times.push_back(i);
238+
last_time = i;
239+
} else {
240+
values.push_back(i);
241+
}
227242
even = !even;
228243
}
229244

0 commit comments

Comments
 (0)