From 7fcf2615e15512170e72fbe1325f43fdfe55eb81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 15 May 2020 07:42:29 +0200 Subject: [PATCH] Metrictank: Fixed updated schema and dedupe strategy (#24685) * Metrictank: Fixed updated schema and dedupe strategy * revert schema change * fix --- .../plugins/datasource/graphite/MetricTankMetaInspector.tsx | 4 ++-- public/app/plugins/datasource/graphite/meta.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx b/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx index 703b0df0030..5009ddae751 100644 --- a/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx +++ b/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx @@ -20,7 +20,7 @@ export class MetricTankMetaInspector extends PureComponent { const buckets = parseSchemaRetentions(meta['schema-retentions']); const rollupNotice = getRollupNotice([meta]); const runtimeNotice = getRuntimeConsolidationNotice([meta]); - const normFunc = (meta['consolidator-normfetch'] || '').replace('Consolidator', ''); + const normFunc = (meta['consolidator-normfetch'] ?? '').replace('Consolidator', ''); let totalSeconds = 0; @@ -99,7 +99,7 @@ export class MetricTankMetaInspector extends PureComponent { if (series.meta && series.meta.custom) { for (const metaItem of series.meta.custom.seriesMetaList as MetricTankSeriesMeta[]) { // key is to dedupe as many series will have identitical meta - const key = `${metaItem['schema-name']}-${metaItem['archive-read']}`; + const key = `${JSON.stringify(metaItem)}`; if (seriesMetas[key]) { seriesMetas[key].count += metaItem.count; diff --git a/public/app/plugins/datasource/graphite/meta.ts b/public/app/plugins/datasource/graphite/meta.ts index 074451a6208..06d12334e02 100644 --- a/public/app/plugins/datasource/graphite/meta.ts +++ b/public/app/plugins/datasource/graphite/meta.ts @@ -38,7 +38,7 @@ export function getRollupNotice(metaList: MetricTankSeriesMeta[]): QueryResultMe if (archiveIndex > 0) { const schema = parseSchemaRetentions(meta['schema-retentions']); const intervalString = schema[archiveIndex].interval; - const func = meta['consolidator-normfetch'].replace('Consolidator', ''); + const func = (meta['consolidator-normfetch'] ?? '').replace('Consolidator', ''); return { text: `Data is rolled up, aggregated over ${intervalString} using ${func} function`, @@ -56,7 +56,7 @@ export function getRuntimeConsolidationNotice(metaList: MetricTankSeriesMeta[]): const runtimeNr = meta['aggnum-rc']; if (runtimeNr > 0) { - const func = meta['consolidator-rc'].replace('Consolidator', ''); + const func = (meta['consolidator-rc'] ?? '').replace('Consolidator', ''); return { text: `Data is runtime consolidated, ${runtimeNr} datapoints combined using ${func} function`,