Browse Source

chore(analytics): convert quicktrace analytics (#38976)

Stephen Cefali 2 years ago
parent
commit
bea609256e

+ 12 - 17
static/app/components/quickTrace/index.tsx

@@ -17,7 +17,7 @@ import {IconFire} from 'sentry/icons';
 import {t, tct, tn} from 'sentry/locale';
 import {OrganizationSummary} from 'sentry/types';
 import {Event} from 'sentry/types/event';
-import {trackAnalyticsEvent} from 'sentry/utils/analytics';
+import trackAdvancedAnalyticsEvent from 'sentry/utils/analytics/trackAdvancedAnalyticsEvent';
 import {getDocsPlatform} from 'sentry/utils/docs';
 import {getDuration} from 'sentry/utils/formatters';
 import localStorage from 'sentry/utils/localStorage';
@@ -242,10 +242,8 @@ export default function QuickTrace({
 }
 
 function handleNode(key: string, organization: OrganizationSummary) {
-  trackAnalyticsEvent({
-    eventKey: 'quick_trace.node.clicked',
-    eventName: 'Quick Trace: Node clicked',
-    organization_id: parseInt(organization.id, 10),
+  trackAdvancedAnalyticsEvent('quick_trace.node.clicked', {
+    organization: organization.id,
     node_key: key,
   });
 }
@@ -255,10 +253,11 @@ function handleDropdownItem(
   organization: OrganizationSummary,
   extra: boolean
 ) {
-  trackAnalyticsEvent({
-    eventKey: 'quick_trace.dropdown.clicked' + (extra ? '_extra' : ''),
-    eventName: 'Quick Trace: Dropdown clicked',
-    organization_id: parseInt(organization.id, 10),
+  const eventKey = extra
+    ? 'quick_trace.dropdown.clicked_extra'
+    : 'quick_trace.dropdown.clicked';
+  trackAdvancedAnalyticsEvent(eventKey, {
+    organization: organization.id,
     node_key: key,
   });
 }
@@ -537,20 +536,16 @@ class MissingServiceNode extends Component<MissingServiceProps, MissingServiceSt
       (now + HIDE_MISSING_EXPIRES).toString()
     );
     this.setState({hideMissing: true});
-    trackAnalyticsEvent({
-      eventKey: 'quick_trace.missing_service.dismiss',
-      eventName: 'Quick Trace: Missing Service Dismissed',
-      organization_id: parseInt(organization.id, 10),
+    trackAdvancedAnalyticsEvent('quick_trace.missing_service.dismiss', {
+      organization: organization.id,
       platform,
     });
   };
 
   trackExternalLink = () => {
     const {organization, platform} = this.props;
-    trackAnalyticsEvent({
-      eventKey: 'quick_trace.missing_service.docs',
-      eventName: 'Quick Trace: Missing Service Clicked',
-      organization_id: parseInt(organization.id, 10),
+    trackAdvancedAnalyticsEvent('quick_trace.missing_service.docs', {
+      organization: organization.id,
       platform,
     });
   };

+ 24 - 0
static/app/utils/analytics/issueAnalyticsEvents.tsx

@@ -64,6 +64,24 @@ export type IssueEventParameters = {
     num_issues: number;
     tab: string;
   };
+  'quick_trace.connected_services': {
+    projects: number;
+  };
+  'quick_trace.dropdown.clicked': {
+    node_key: string;
+  };
+  'quick_trace.dropdown.clicked_extra': {
+    node_key: string;
+  };
+  'quick_trace.missing_service.dismiss': {
+    platform: string;
+  };
+  'quick_trace.missing_service.docs': {
+    platform: string;
+  };
+  'quick_trace.node.clicked': {
+    node_key: string;
+  };
   resolve_issue: {release: string};
   'span_view.embedded_child.hide': {};
   'span_view.embedded_child.show': {};
@@ -94,6 +112,12 @@ export const issueEventMap: Record<IssueEventKey, string | null> = {
   resolve_issue: 'Resolve Issue',
   'tag.clicked': 'Tag: Clicked',
   'issue.quick_trace_status': 'Issue Quick Trace Status',
+  'quick_trace.missing_service.dismiss': 'Quick Trace: Missing Service Dismissed',
+  'quick_trace.missing_service.docs': 'Quick Trace: Missing Service Clicked',
+  'quick_trace.dropdown.clicked': 'Quick Trace: Dropdown clicked',
+  'quick_trace.dropdown.clicked_extra': 'Quick Trace: Dropdown clicked',
+  'quick_trace.node.clicked': 'Quick Trace: Node clicked',
+  'quick_trace.connected_services': 'Quick Trace: Connected Services',
   'span_view.embedded_child.hide': 'Span View: Hide Embedded Transaction',
   'span_view.embedded_child.show': 'Span View: Show Embedded Transaction',
 

+ 3 - 5
static/app/utils/performance/quickTrace/utils.tsx

@@ -5,7 +5,7 @@ import {getTraceDateTimeRange} from 'sentry/components/events/interfaces/spans/u
 import {ALL_ACCESS_PROJECTS} from 'sentry/constants/pageFilters';
 import {OrganizationSummary} from 'sentry/types';
 import {Event, EventTransaction} from 'sentry/types/event';
-import {trackAnalyticsEvent} from 'sentry/utils/analytics';
+import trackAdvancedAnalyticsEvent from 'sentry/utils/analytics/trackAdvancedAnalyticsEvent';
 import EventView from 'sentry/utils/discover/eventView';
 import {DiscoverQueryProps} from 'sentry/utils/discover/genericDiscoverQuery';
 import {
@@ -314,10 +314,8 @@ export function isTraceFullDetailed(transaction): transaction is TraceFullDetail
 }
 
 function handleProjectMeta(organization: OrganizationSummary, projects: number) {
-  trackAnalyticsEvent({
-    eventKey: 'quick_trace.connected_services',
-    eventName: 'Quick Trace: Connected Services',
-    organization_id: parseInt(organization.id, 10),
+  trackAdvancedAnalyticsEvent('quick_trace.connected_services', {
+    organization: organization.id,
     projects,
   });
 }