Skip to content

Commit 3daf709

Browse files
authored
fix(ask-seer): Send correct analytics (#97511)
This PR fixes up some issues around the analytics for the trace explorer.
1 parent 6d867a0 commit 3daf709

File tree

3 files changed

+24
-17
lines changed

3 files changed

+24
-17
lines changed

static/app/utils/analytics/tracingEventMap.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ export type TracingEventParameters = {
1515
query: string;
1616
visualize_count: number;
1717
};
18+
'trace.explorer.ai_query_example_clicked': {
19+
example_query: string;
20+
};
1821
'trace.explorer.ai_query_feedback': {
1922
correct_query_results: 'yes' | 'no';
2023
natural_language_query: string;
@@ -217,6 +220,7 @@ export const tracingEventMap: Record<TracingEventKey, string | null> = {
217220
'trace.explorer.ai_query_submitted': 'Trace Explorer: AI Query Submitted',
218221
'trace.explorer.ai_query_interface': 'Trace Explorer: AI Query Interface',
219222
'trace.explorer.ai_query_feedback': 'Trace Explorer: AI Query Feedback',
223+
'trace.explorer.ai_query_example_clicked': 'Trace Explorer: AI Query Example Clicked',
220224
'trace.explorer.metadata': 'Improved Trace Explorer Pageload Metadata',
221225
'trace.explorer.schema_hints_click':
222226
'Improved Trace Explorer: Schema Hints Click Events',

static/app/views/explore/components/seerComboBox/hooks.ts

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {useCallback, useState} from 'react';
33
import {addErrorMessage} from 'sentry/actionCreators/indicator';
44
import {useSearchQueryBuilder} from 'sentry/components/searchQueryBuilder/context';
55
import {t} from 'sentry/locale';
6+
import {trackAnalytics} from 'sentry/utils/analytics';
67
import {fetchMutation, useMutation} from 'sentry/utils/queryClient';
78
import type RequestError from 'sentry/utils/requestError/requestError';
89
import {useNavigate} from 'sentry/utils/useNavigate';
@@ -119,8 +120,7 @@ export const useApplySeerSearchQuery = () => {
119120
const pageFilters = usePageFilters();
120121
const organization = useOrganization();
121122

122-
const {setDisplayAskSeer, setDisplayAskSeerFeedback, askSeerSuggestedQueryRef} =
123-
useSearchQueryBuilder();
123+
const {askSeerSuggestedQueryRef} = useSearchQueryBuilder();
124124

125125
return useCallback(
126126
(result: SeerSearchQuery) => {
@@ -178,17 +178,14 @@ export const useApplySeerSearchQuery = () => {
178178
sort,
179179
mode,
180180
});
181+
trackAnalytics('trace.explorer.ai_query_applied', {
182+
organization,
183+
query,
184+
group_by_count: groupBys.length,
185+
visualize_count: visualizations.length,
186+
});
181187
navigate(url, {replace: true, preventScrollReset: true});
182-
setDisplayAskSeerFeedback(true);
183-
setDisplayAskSeer(false);
184188
},
185-
[
186-
askSeerSuggestedQueryRef,
187-
navigate,
188-
organization,
189-
pageFilters.selection,
190-
setDisplayAskSeer,
191-
setDisplayAskSeerFeedback,
192-
]
189+
[askSeerSuggestedQueryRef, navigate, organization, pageFilters.selection]
193190
);
194191
};

static/app/views/explore/components/seerComboBox/seerComboBox.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,10 @@ export function SeerComboBox({initialQuery, ...props}: SeerComboBoxProps) {
225225
return;
226226
}
227227

228-
trackAnalytics('trace.explorer.ai_query_submitted', {
229-
organization,
230-
natural_language_query: searchQuery.trim(),
231-
});
232228
askSeerNLQueryRef.current = searchQuery.trim();
233229
applySeerSearchQuery(item);
230+
setDisplayAskSeerFeedback(true);
231+
setDisplayAskSeer(false);
234232
state.close();
235233
},
236234
children: item => {
@@ -296,6 +294,10 @@ export function SeerComboBox({initialQuery, ...props}: SeerComboBoxProps) {
296294
switch (e.key) {
297295
case 'Escape':
298296
if (!state.isOpen) {
297+
trackAnalytics('trace.explorer.ai_query_interface', {
298+
organization,
299+
action: 'closed',
300+
});
299301
setDisplayAskSeerFeedback(false);
300302
setDisplayAskSeer(false);
301303
}
@@ -342,8 +344,12 @@ export function SeerComboBox({initialQuery, ...props}: SeerComboBoxProps) {
342344
addErrorMessage(t('Failed to find AI query to apply'));
343345
return;
344346
}
345-
state.close();
347+
348+
askSeerNLQueryRef.current = searchQuery.trim();
346349
applySeerSearchQuery(item);
350+
setDisplayAskSeerFeedback(true);
351+
setDisplayAskSeer(false);
352+
state.close();
347353
return;
348354
}
349355

0 commit comments

Comments
 (0)