From 72ae3235fa12cb647d0b08cb7ddccd048ecbbebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Wed, 3 Nov 2021 10:56:43 +0100 Subject: [PATCH] prometheus: monaco: autocomplete: offer function-names in functions (#41212) --- .../monaco-completion-provider/completions.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/datasource/prometheus/components/monaco-query-field/monaco-completion-provider/completions.ts b/public/app/plugins/datasource/prometheus/components/monaco-query-field/monaco-completion-provider/completions.ts index 1eb7330ff92..add020ebb4e 100644 --- a/public/app/plugins/datasource/prometheus/components/monaco-query-field/monaco-completion-provider/completions.ts +++ b/public/app/plugins/datasource/prometheus/components/monaco-query-field/monaco-completion-provider/completions.ts @@ -47,6 +47,11 @@ const FUNCTION_COMPLETIONS: Completion[] = FUNCTIONS.map((f) => ({ documentation: f.documentation, })); +async function getAllFunctionsAndMetricNamesCompletions(dataProvider: DataProvider): Promise { + const metricNames = await getAllMetricNamesCompletions(dataProvider); + return [...FUNCTION_COMPLETIONS, ...metricNames]; +} + const DURATION_COMPLETIONS: Completion[] = [ '$__interval', '$__range', @@ -144,10 +149,9 @@ export async function getCompletions(situation: Situation, dataProvider: DataPro case 'IN_DURATION': return DURATION_COMPLETIONS; case 'IN_FUNCTION': - return getAllMetricNamesCompletions(dataProvider); + return getAllFunctionsAndMetricNamesCompletions(dataProvider); case 'AT_ROOT': { - const metricNames = await getAllMetricNamesCompletions(dataProvider); - return [...FUNCTION_COMPLETIONS, ...metricNames]; + return getAllFunctionsAndMetricNamesCompletions(dataProvider); } case 'EMPTY': { const metricNames = await getAllMetricNamesCompletions(dataProvider);