From c9da4b1a89add7d4af72112cc847fcf3125842ad Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Mon, 11 Jan 2021 16:58:24 +0200 Subject: [PATCH] fix fill the gaps logic in normalize metrics Signed-off-by: Jari Kolehmainen --- src/renderer/api/endpoints/metrics.api.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/renderer/api/endpoints/metrics.api.ts b/src/renderer/api/endpoints/metrics.api.ts index a530c68506..3b060c4586 100644 --- a/src/renderer/api/endpoints/metrics.api.ts +++ b/src/renderer/api/endpoints/metrics.api.ts @@ -78,10 +78,15 @@ export function normalizeMetrics(metrics: IMetrics, frames = 60): IMetrics { result.forEach(res => { if (!res.values || !res.values.length) return; - while (res.values.length < frames) { - const timestamp = moment.unix(res.values[0][0]).subtract(1, "minute").unix(); + let now = moment().unix(); - res.values.unshift([timestamp, "0"]); + while (res.values.length < frames) { + const timestamp = moment.unix(now).subtract(1, "minute").unix(); + + if (!res.values.find((value) => value[0] === timestamp)) { + res.values.unshift([timestamp, "0"]); + } + now = timestamp; } }); }