Browse Source

chore(analytics): convert dashboardlist analytics (#40136)

Stephen Cefali 2 years ago
parent
commit
abe1a275b7

+ 6 - 0
static/app/utils/analytics/dashboardsAnalyticsEvents.tsx

@@ -72,6 +72,9 @@ export type DashboardsEventParameters = {
     sort: string;
   };
   'dashboards_manage.create.start': {};
+  'dashboards_manage.delete': {dashboard_id: number};
+  'dashboards_manage.duplicate': {dashboard_id: number};
+  'dashboards_manage.paginate': {};
   'dashboards_manage.search': {};
   'dashboards_manage.templates.add': {
     dashboard_id: string;
@@ -163,6 +166,9 @@ export const dashboardsEventMap: Record<DashboardsEventKey, string | null> = {
   'dashboards_manage.search': 'Dashboards Manager: Search',
   'dashboards_manage.change_sort': 'Dashboards Manager: Sort By Changed',
   'dashboards_manage.create.start': 'Dashboards Manager: Dashboard Create Started',
+  'dashboards_manage.delete': 'Dashboards Manager: Dashboard Deleted',
+  'dashboards_manage.duplicate': 'Dashboards Manager: Dashboard Duplicated',
+  'dashboards_manage.paginate': 'Dashboards Manager: Paginate',
   'dashboards_manage.templates.toggle': 'Dashboards Manager: Template Toggle Changed',
   'dashboards_manage.templates.add': 'Dashboards Manager: Template Added',
   'dashboards_manage.templates.preview': 'Dashboards Manager: Template Previewed',

+ 6 - 16
static/app/views/dashboardsV2/manage/dashboardList.tsx

@@ -21,7 +21,7 @@ import {IconEllipsis} from 'sentry/icons';
 import {t, tn} from 'sentry/locale';
 import space from 'sentry/styles/space';
 import {Organization} from 'sentry/types';
-import {trackAnalyticsEvent} from 'sentry/utils/analytics';
+import trackAdvancedAnalytics from 'sentry/utils/analytics/trackAdvancedAnalyticsEvent';
 import withApi from 'sentry/utils/withApi';
 import {DashboardListItem, DisplayType} from 'sentry/views/dashboardsV2/types';
 
@@ -50,10 +50,8 @@ function DashboardList({
   function handleDelete(dashboard: DashboardListItem) {
     deleteDashboard(api, organization.slug, dashboard.id)
       .then(() => {
-        trackAnalyticsEvent({
-          eventKey: 'dashboards_manage.delete',
-          eventName: 'Dashboards Manager: Dashboard Deleted',
-          organization_id: parseInt(organization.id, 10),
+        trackAdvancedAnalytics('dashboards_manage.delete', {
+          organization,
           dashboard_id: parseInt(dashboard.id, 10),
         });
         onDashboardsChange();
@@ -70,11 +68,8 @@ function DashboardList({
       const newDashboard = cloneDashboard(dashboardDetail);
       newDashboard.widgets.map(widget => (widget.id = undefined));
       await createDashboard(api, organization.slug, newDashboard, true);
-
-      trackAnalyticsEvent({
-        eventKey: 'dashboards_manage.duplicate',
-        eventName: 'Dashboards Manager: Dashboard Duplicated',
-        organization_id: parseInt(organization.id, 10),
+      trackAdvancedAnalytics('dashboards_manage.duplicate', {
+        organization,
         dashboard_id: parseInt(dashboard.id, 10),
       });
       onDashboardsChange();
@@ -204,12 +199,7 @@ function DashboardList({
           if (offset <= 0 && isPrevious) {
             delete newQuery.cursor;
           }
-
-          trackAnalyticsEvent({
-            eventKey: 'dashboards_manage.paginate',
-            eventName: 'Dashboards Manager: Paginate',
-            organization_id: parseInt(organization.id, 10),
-          });
+          trackAdvancedAnalytics('dashboards_manage.paginate', {organization});
 
           browserHistory.push({
             pathname: path,