From 796ef05e97daafd4867bcafe6bf58bd3b0380311 Mon Sep 17 00:00:00 2001 From: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:23:41 -0500 Subject: [PATCH] fix: data trails auto query use general generator for unconventional metrics (#80301) --- .../AutoQueryEngine.test.ts | 16 ++++++++++++++++ .../query-generators/index.ts | 5 +---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/public/app/features/trails/AutomaticMetricQueries/AutoQueryEngine.test.ts b/public/app/features/trails/AutomaticMetricQueries/AutoQueryEngine.test.ts index ec0a5600516..5b596a30aea 100644 --- a/public/app/features/trails/AutomaticMetricQueries/AutoQueryEngine.test.ts +++ b/public/app/features/trails/AutomaticMetricQueries/AutoQueryEngine.test.ts @@ -167,4 +167,20 @@ describe('getAutoQueriesForMetric', () => { expect(received).toStrictEqual(expectedVariants); }); }); + + describe('Able to handle unconventional metric names', () => { + it.each([['PRODUCT_High_Priority_items_', 'avg(...)', 'short', 1]])( + 'Given metric %p expect %p with unit %p', + (metric, expr, unit, queryCount) => { + const result = getAutoQueriesForMetric(metric); + + const queryDef = result.main; + + const expected = { expr: expandExpr(expr), unit, queryCount }; + const actual = { expr: queryDef.queries[0].expr, unit: queryDef.unit, queryCount: queryDef.queries.length }; + + expect(actual).toStrictEqual(expected); + } + ); + }); }); diff --git a/public/app/features/trails/AutomaticMetricQueries/query-generators/index.ts b/public/app/features/trails/AutomaticMetricQueries/query-generators/index.ts index 938f5a42613..c450908099b 100644 --- a/public/app/features/trails/AutomaticMetricQueries/query-generators/index.ts +++ b/public/app/features/trails/AutomaticMetricQueries/query-generators/index.ts @@ -7,8 +7,5 @@ const SUFFIX_TO_ALTERNATIVE_GENERATOR: Record = }; export function getQueryGeneratorFor(suffix?: string) { - if (!suffix || suffix === '') { - return null; - } - return SUFFIX_TO_ALTERNATIVE_GENERATOR[suffix] || general.generator; + return (suffix && SUFFIX_TO_ALTERNATIVE_GENERATOR[suffix]) || general.generator; }