dashboardsAnalyticsEvents.tsx 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. import type {DashboardsLayout} from 'sentry/views/dashboards/manage';
  2. export enum WidgetBuilderVersion {
  3. PAGE = 'page',
  4. SLIDEOUT = 'slideout',
  5. }
  6. // Used in the full-page widget builder
  7. type DashboardsEventParametersWidgetBuilder = {
  8. 'dashboards_views.widget_builder.change': {
  9. builder_version: WidgetBuilderVersion;
  10. field: string;
  11. from: string;
  12. new_widget: boolean;
  13. value: string;
  14. widget_type: string;
  15. };
  16. 'dashboards_views.widget_builder.opened': {
  17. builder_version: WidgetBuilderVersion;
  18. new_widget: boolean;
  19. };
  20. 'dashboards_views.widget_builder.save': {
  21. builder_version: WidgetBuilderVersion;
  22. data_set: string;
  23. new_widget: boolean;
  24. };
  25. };
  26. const dashboardsEventMapWidgetBuilder: Record<
  27. keyof DashboardsEventParametersWidgetBuilder,
  28. string | null
  29. > = {
  30. 'dashboards_views.widget_builder.change': 'Widget Builder: Field changed',
  31. 'dashboards_views.widget_builder.save': 'Widget Builder: Form submitted',
  32. 'dashboards_views.widget_builder.opened': 'Widget Builder: Page opened',
  33. };
  34. export type DashboardsEventParameters = {
  35. 'dashboards2.create.cancel': {};
  36. 'dashboards2.create.complete': {};
  37. 'dashboards2.delete': {};
  38. 'dashboards2.edit.cancel': {};
  39. 'dashboards2.edit.complete': {};
  40. 'dashboards2.edit.start': {};
  41. 'dashboards2.edit_access.save': {
  42. editable_by: 'owner_only' | 'all' | 'team_selection';
  43. team_count?: number;
  44. };
  45. 'dashboards2.edit_access.start': {};
  46. 'dashboards2.filter.cancel': {};
  47. 'dashboards2.filter.change': {filter_type: string};
  48. 'dashboards2.filter.save': {};
  49. 'dashboards_manage.change_sort': {
  50. sort: string;
  51. };
  52. 'dashboards_manage.change_view_type': {
  53. view_type: DashboardsLayout;
  54. };
  55. 'dashboards_manage.create.start': {};
  56. 'dashboards_manage.delete': {dashboard_id: number; view_type: DashboardsLayout};
  57. 'dashboards_manage.duplicate': {dashboard_id: number; view_type: DashboardsLayout};
  58. 'dashboards_manage.paginate': {};
  59. 'dashboards_manage.search': {};
  60. 'dashboards_manage.templates.add': {
  61. dashboard_id: string;
  62. dashboard_title: string;
  63. was_previewed: boolean;
  64. };
  65. 'dashboards_manage.templates.preview': {
  66. dashboard_id: string;
  67. };
  68. 'dashboards_manage.templates.toggle': {
  69. show_templates: boolean;
  70. };
  71. 'dashboards_manage.toggle_favorite': {dashboard_id: string; favorited: boolean};
  72. 'dashboards_views.open_in_discover.opened': {
  73. widget_type: string;
  74. };
  75. 'dashboards_views.query_selector.opened': {
  76. widget_type: string;
  77. };
  78. 'dashboards_views.query_selector.selected': {
  79. widget_type: string;
  80. };
  81. 'dashboards_views.widget.delete': {
  82. widget_type: string;
  83. };
  84. 'dashboards_views.widget.duplicate': {
  85. widget_type: string;
  86. };
  87. 'dashboards_views.widget.edit': {
  88. widget_type: string;
  89. };
  90. 'dashboards_views.widget_library.add_widget': {
  91. title: string;
  92. };
  93. 'dashboards_views.widget_library.opened': {};
  94. 'dashboards_views.widget_viewer.edit': {
  95. display_type: string;
  96. widget_type: string;
  97. };
  98. 'dashboards_views.widget_viewer.open': {
  99. display_type: string;
  100. widget_type: string;
  101. };
  102. 'dashboards_views.widget_viewer.open_source': {
  103. display_type: string;
  104. widget_type: string;
  105. };
  106. 'dashboards_views.widget_viewer.paginate': {
  107. display_type: string;
  108. widget_type: string;
  109. };
  110. 'dashboards_views.widget_viewer.select_query': {
  111. display_type: string;
  112. widget_type: string;
  113. };
  114. 'dashboards_views.widget_viewer.sort': {
  115. column: string;
  116. display_type: string;
  117. order: string;
  118. widget_type: string;
  119. };
  120. 'dashboards_views.widget_viewer.toggle_legend': {
  121. display_type: string;
  122. widget_type: string;
  123. };
  124. 'dashboards_views.widget_viewer.zoom': {
  125. display_type: string;
  126. widget_type: string;
  127. };
  128. } & DashboardsEventParametersWidgetBuilder;
  129. export type DashboardsEventKey = keyof DashboardsEventParameters;
  130. export const dashboardsEventMap: Record<DashboardsEventKey, string | null> = {
  131. 'dashboards2.create.cancel': 'Dashboards2: Create cancel',
  132. 'dashboards2.create.complete': 'Dashboards2: Create complete',
  133. 'dashboards2.delete': 'Dashboards2: Delete',
  134. 'dashboards2.edit.cancel': 'Dashboards2: Edit cancel',
  135. 'dashboards2.edit.complete': 'Dashboards2: Edit complete',
  136. 'dashboards2.edit.start': 'Dashboards2: Edit start',
  137. 'dashboards2.filter.save': 'Dashboards2: Filter bar save',
  138. 'dashboards2.filter.cancel': 'Dashboards2: Filter bar cancel',
  139. 'dashboards2.filter.change': 'Dashboards2: Filter bar changed',
  140. 'dashboards_views.query_selector.opened':
  141. 'Dashboards2: Query Selector opened for Widget',
  142. 'dashboards_views.query_selector.selected':
  143. 'Dashboards2: Query selected in Query Selector',
  144. 'dashboards_views.widget.edit': 'Dashboards2: dashboard widget edited',
  145. 'dashboards_views.widget.duplicate': 'Dashboards2: dashboard widget duplicated',
  146. 'dashboards_views.widget.delete': 'Dashboards2: dashboard widget deleted',
  147. 'dashboards_views.open_in_discover.opened': 'Dashboards2: Widget Opened In Discover',
  148. 'dashboards_views.widget_library.add_widget':
  149. 'Dashboards2: Title of prebuilt widget added',
  150. 'dashboards_views.widget_library.opened': 'Dashboards2: Add Widget Library opened',
  151. 'dashboards_manage.search': 'Dashboards Manager: Search',
  152. 'dashboards_manage.change_sort': 'Dashboards Manager: Sort By Changed',
  153. 'dashboards_manage.change_view_type': 'Dashboards Manager: View Type Toggled',
  154. 'dashboards_manage.create.start': 'Dashboards Manager: Dashboard Create Started',
  155. 'dashboards_manage.delete': 'Dashboards Manager: Dashboard Deleted',
  156. 'dashboards_manage.duplicate': 'Dashboards Manager: Dashboard Duplicated',
  157. 'dashboards_manage.paginate': 'Dashboards Manager: Paginate',
  158. 'dashboards_manage.templates.toggle': 'Dashboards Manager: Template Toggle Changed',
  159. 'dashboards_manage.templates.add': 'Dashboards Manager: Template Added',
  160. 'dashboards_manage.templates.preview': 'Dashboards Manager: Template Previewed',
  161. 'dashboards_manage.toggle_favorite': 'Dashboards Manager: Dashboard Favorite Toggled',
  162. 'dashboards_views.widget_viewer.edit': 'Widget Viewer: Edit Widget Modal Opened',
  163. 'dashboards_views.widget_viewer.open': 'Widget Viewer: Opened',
  164. 'dashboards_views.widget_viewer.open_source':
  165. 'Widget Viewer: Opened in Discover/Issues',
  166. 'dashboards_views.widget_viewer.paginate': 'Widget Viewer: Paginate',
  167. 'dashboards_views.widget_viewer.select_query': 'Widget Viewer: Query Selected',
  168. 'dashboards_views.widget_viewer.sort': 'Widget Viewer: Table Sorted',
  169. 'dashboards_views.widget_viewer.toggle_legend': 'Widget Viewer: Legend Toggled',
  170. 'dashboards_views.widget_viewer.zoom': 'Widget Viewer: Chart zoomed',
  171. 'dashboards2.edit_access.start': 'Dashboards2: Edit Access Dropdown Opened',
  172. 'dashboards2.edit_access.save': 'Dashboards2: Edit Access Dropdown Selection Saved',
  173. ...dashboardsEventMapWidgetBuilder,
  174. };