Skip to content

Commit 3f10a5d

Browse files
cvxluoclaude
andauthored
feat(issue-details): Add analytics for similar and merged issues drawers (#112618)
We currently have analytics for actual merging / unmerging issues, but we want to find out how often this drawer gets opened at all. Co-authored-by: Claude <noreply@anthropic.com>
1 parent 9bb8da6 commit 3f10a5d

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

static/app/utils/analytics/issueAnalyticsEvents.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ export type IssueEventParameters = {
121121
};
122122
'issue_details.issue_status_docs_clicked': Record<string, unknown>;
123123
'issue_details.issue_tags_click': Record<string, unknown>;
124+
'issue_details.merged_issues.drawer_opened': {
125+
group_id: string;
126+
project_id: string;
127+
};
124128
'issue_details.related_trace_issue.trace_issue_clicked': {
125129
group_id: number;
126130
};
@@ -137,6 +141,10 @@ export type IssueEventParameters = {
137141
project_id?: string;
138142
shouldBeGrouped?: string;
139143
};
144+
'issue_details.similar_issues.drawer_opened': {
145+
group_id: string;
146+
project_id: string;
147+
};
140148
'issue_details.similar_issues.similarity_embeddings_feedback_recieved': {
141149
groupId: string;
142150
parentGroupId: string;
@@ -323,6 +331,10 @@ export const issueEventMap: Record<IssueEventKey, string | null> = {
323331
'issue_details.issue_content_selected': 'Issue Details: Issue Content Selected',
324332
'issue_details.issue_tags_click': 'Issue Details: Issue Tags Clicked',
325333
'issue.engaged_view': 'Issue: Engaged View',
334+
'issue_details.similar_issues.drawer_opened':
335+
'Issue Details: Similar Issues Drawer Opened',
336+
'issue_details.merged_issues.drawer_opened':
337+
'Issue Details: Merged Issues Drawer Opened',
326338
'issue_details.similar_issues.diff_clicked':
327339
'Issue Details: Similar Issues: Diff Clicked',
328340
'issue_details.similar_issues.similarity_embeddings_feedback_recieved':

static/app/views/issueDetails/streamline/hooks/useMergedIssuesDrawer.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import {useDrawer} from 'sentry/components/globalDrawer';
44
import {t} from 'sentry/locale';
55
import type {Group} from 'sentry/types/group';
66
import type {Project} from 'sentry/types/project';
7+
import {trackAnalytics} from 'sentry/utils/analytics';
78
import {useLocation} from 'sentry/utils/useLocation';
89
import {useNavigate} from 'sentry/utils/useNavigate';
10+
import {useOrganization} from 'sentry/utils/useOrganization';
911
import {MergedIssuesDrawer} from 'sentry/views/issueDetails/groupMerged/mergedIssuesDrawer';
1012
import {useGroupDetailsRoute} from 'sentry/views/issueDetails/useGroupDetailsRoute';
1113

@@ -20,8 +22,14 @@ export function useMergedIssuesDrawer({
2022
const {baseUrl} = useGroupDetailsRoute();
2123
const navigate = useNavigate();
2224
const location = useLocation();
25+
const organization = useOrganization();
2326

2427
const openMergedIssuesDrawer = useCallback(() => {
28+
trackAnalytics('issue_details.merged_issues.drawer_opened', {
29+
organization,
30+
group_id: group.id,
31+
project_id: project.id,
32+
});
2533
openDrawer(() => <MergedIssuesDrawer group={group} project={project} />, {
2634
ariaLabel: t('Merged Issues'),
2735
shouldCloseOnInteractOutside: () => false,
@@ -39,7 +47,7 @@ export function useMergedIssuesDrawer({
3947
);
4048
},
4149
});
42-
}, [openDrawer, group, project, baseUrl, navigate, location.query]);
50+
}, [openDrawer, group, project, baseUrl, navigate, location.query, organization]);
4351

4452
return {openMergedIssuesDrawer};
4553
}

static/app/views/issueDetails/streamline/hooks/useSimilarIssuesDrawer.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import {useDrawer} from 'sentry/components/globalDrawer';
44
import {t} from 'sentry/locale';
55
import type {Group} from 'sentry/types/group';
66
import type {Project} from 'sentry/types/project';
7+
import {trackAnalytics} from 'sentry/utils/analytics';
78
import {useLocation} from 'sentry/utils/useLocation';
89
import {useNavigate} from 'sentry/utils/useNavigate';
10+
import {useOrganization} from 'sentry/utils/useOrganization';
911
import {SimilarIssuesDrawer} from 'sentry/views/issueDetails/groupSimilarIssues/similarIssuesDrawer';
1012
import {useGroupDetailsRoute} from 'sentry/views/issueDetails/useGroupDetailsRoute';
1113

@@ -20,8 +22,14 @@ export function useSimilarIssuesDrawer({
2022
const {baseUrl} = useGroupDetailsRoute();
2123
const navigate = useNavigate();
2224
const location = useLocation();
25+
const organization = useOrganization();
2326

2427
const openSimilarIssuesDrawer = useCallback(() => {
28+
trackAnalytics('issue_details.similar_issues.drawer_opened', {
29+
organization,
30+
group_id: group.id,
31+
project_id: project.id,
32+
});
2533
openDrawer(() => <SimilarIssuesDrawer group={group} project={project} />, {
2634
ariaLabel: t('Similar Issues'),
2735
shouldCloseOnInteractOutside: () => false,
@@ -39,7 +47,7 @@ export function useSimilarIssuesDrawer({
3947
);
4048
},
4149
});
42-
}, [openDrawer, group, project, baseUrl, navigate, location.query]);
50+
}, [openDrawer, group, project, baseUrl, navigate, location.query, organization]);
4351

4452
return {openSimilarIssuesDrawer};
4553
}

0 commit comments

Comments
 (0)