From 191d9a7e27d7879b7e2a36e8a7c9ac57d4d884a9 Mon Sep 17 00:00:00 2001 From: Matej Kubinec Date: Thu, 19 Sep 2024 14:33:00 +0200 Subject: [PATCH 1/2] PMM-13254 Fix QAN total metrics & metadata --- .../Details/Metadata/Metadata.utils.ts | 16 +++++++++------- .../shared/components/helpers/processMetrics.ts | 17 ++++++----------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/pmm-app/src/pmm-qan/panel/components/Details/Metadata/Metadata.utils.ts b/pmm-app/src/pmm-qan/panel/components/Details/Metadata/Metadata.utils.ts index 80987c8ed4..77cf3389ec 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/Metadata/Metadata.utils.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/Metadata/Metadata.utils.ts @@ -4,14 +4,16 @@ import { LineMetadata } from './Metadata.types'; export const showMetadata = (metadata: string[]): LineMetadata[] => { const metadataToShow: LineMetadata[] = []; - Object.entries(metadata).forEach(([k, v]) => { - const line: LineMetadata = ({ - name: metadataNames[k] ? metadataNames[k].name : k, - value: v, - }); + Object.entries(metadata) + .filter(([, v]) => !!v) + .forEach(([k, v]) => { + const line: LineMetadata = { + name: metadataNames[k] ? metadataNames[k].name : k, + value: v, + }; - metadataToShow.push(line); - }); + metadataToShow.push(line); + }); metadataToShow.sort((a, b) => a.name.localeCompare(b.name)); diff --git a/pmm-app/src/shared/components/helpers/processMetrics.ts b/pmm-app/src/shared/components/helpers/processMetrics.ts index 0a69d6811e..c1ac50e79b 100644 --- a/pmm-app/src/shared/components/helpers/processMetrics.ts +++ b/pmm-app/src/shared/components/helpers/processMetrics.ts @@ -41,23 +41,18 @@ const sortDetails = (a, b) => { return indA < indB ? -1 : 1; }; +const metricHasData = ([, value]: [string, unknown]) => Object + .values(value as Record) + .some((value) => value !== 0); + export const processMetrics = (metricsCatalogue, metrics) => { - const data = metrics.metrics ? metrics.metrics : metrics.totals; + const data = Object.keys(metrics.metrics).length ? metrics.metrics : metrics.totals; return Object.entries(data) .filter( (metricData) => Object.keys(metricData[1] as any[]).length, ) - .filter( - (metricData) => { - const metricStorage = metricData[1] as any; - const notZeroCount = metricStorage.cnt !== 0; - const notSum = metricStorage.sum === undefined; - - return !(notZeroCount && notSum); - }, - - ) + .filter(metricHasData) .sort(sortDetails) .map((metricData) => { const [metricName] = metricData; From 7e1cf9d0d805a1ba7cca11a41f8ab453a73a9a99 Mon Sep 17 00:00:00 2001 From: Matej Kubinec Date: Fri, 20 Sep 2024 08:59:15 +0200 Subject: [PATCH 2/2] PMM-13254 Fix latency chart check --- .../src/pmm-qan/panel/components/Details/Metrics/Metrics.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.tsx b/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.tsx index f5359a0e32..dcd2db043e 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.tsx +++ b/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.tsx @@ -93,7 +93,7 @@ const Metrics: FC = ({ ? humanize.transform(item.metric.avg, item.pipeTypes.perQueryStatsPipe) : (+item.metric.sum / +item.queryCount).toFixed(2) || '0'} - {item.isLatencyChart && } + {!!item.isLatencyChart && } ); };