From e962b2fd5d0cfb2e87e50264c0564ada191943c4 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Wed, 14 Sep 2022 17:04:49 +0200 Subject: [PATCH] Query patterns: Feature tracking (#55164) (#55177) * Query patterns: Feature tracking before redesign * Update (cherry picked from commit 926a3396ab4de719bc3046698e3f2baaa66d2768) Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> --- .../components/LokiQueryEditorSelector.tsx | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryEditorSelector.tsx b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryEditorSelector.tsx index 950da0c7cc6..9ef918f8e81 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryEditorSelector.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryEditorSelector.tsx @@ -93,15 +93,35 @@ export const LokiQueryEditorSelector = React.memo((props) { + const visualQuery = buildVisualQueryFromString(query.expr || ''); + reportInteraction('grafana_loki_query_patterns_opened', { + version: 'v1', + app: app ?? '', + editorMode: query.editorMode, + preSelectedOperationsCount: visualQuery.query.operations.length, + preSelectedLabelsCount: visualQuery.query.labels.length, + }); + }} placeholder="Query patterns" aria-label={selectors.components.QueryBuilder.queryPatterns} allowCustomValue onChange={({ value }: SelectableValue) => { - const result = buildVisualQueryFromString(query.expr || ''); - result.query.operations = value?.operations!; + const visualQuery = buildVisualQueryFromString(query.expr || ''); + reportInteraction('grafana_loki_query_patterns_selected', { + version: 'v1', + app: app ?? '', + editorMode: query.editorMode, + selectedPattern: value?.name, + preSelectedOperationsCount: visualQuery.query.operations.length, + preSelectedLabelsCount: visualQuery.query.labels.length, + }); + + // Update operations + visualQuery.query.operations = value?.operations!; onChange({ ...query, - expr: lokiQueryModeller.renderQuery(result.query), + expr: lokiQueryModeller.renderQuery(visualQuery.query), }); }} options={lokiQueryModeller.getQueryPatterns().map((x) => ({ label: x.name, value: x }))}