From d25bc58c2bae44e29756098ddc5b40e349804d6b Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 16 Jun 2020 09:32:36 -0400 Subject: [PATCH] fix crash on drilldown Signed-off-by: Sebastian Malton --- dashboard/client/api/endpoints/metrics.api.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dashboard/client/api/endpoints/metrics.api.ts b/dashboard/client/api/endpoints/metrics.api.ts index eac3522a3f..ee011160bf 100644 --- a/dashboard/client/api/endpoints/metrics.api.ts +++ b/dashboard/client/api/endpoints/metrics.api.ts @@ -94,13 +94,16 @@ export function normalizeMetrics(metrics: IMetrics, frames = 60): IMetrics { } export function isMetricsEmpty(metrics: { [key: string]: IMetrics }) { - return Object.values(metrics).every(metric => !metric.data.result.length); + return Object.values(metrics).every(metric => !metric?.data?.result?.length); } -export function getItemMetrics(metrics: { [key: string]: IMetrics }, itemName: string) { +export function getItemMetrics(metrics: { [key: string]: IMetrics }, itemName: string): { [key: string]: IMetrics } { if (!metrics) return; const itemMetrics = { ...metrics }; for (const metric in metrics) { + if (!metrics[metric]?.data?.result) { + continue + } const results = metrics[metric].data.result; const result = results.find(res => Object.values(res.metric)[0] == itemName); itemMetrics[metric].data.result = result ? [result] : [];