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; }