issueAnalyticsEvents.tsx 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import {TagFacetsStyles} from 'sentry/components/group/tagFacets';
  2. type IssueStream = {
  3. group_id: string;
  4. tab: string;
  5. was_shown_suggestion: boolean;
  6. };
  7. export type IssueEventParameters = {
  8. 'event_cause.dismissed': {};
  9. 'event_cause.docs_clicked': {};
  10. 'event_cause.snoozed': {};
  11. 'event_cause.viewed': {
  12. platform?: string;
  13. project_id?: string;
  14. };
  15. 'inbox_tab.issue_clicked': {
  16. group_id: string;
  17. };
  18. 'issue.quick_trace_status': {
  19. is_performance_issue: boolean;
  20. status: string;
  21. };
  22. 'issue.search_sidebar_clicked': {};
  23. 'issue.shared_publicly': {};
  24. 'issue_details.performance.autogrouped_siblings_toggle': {};
  25. 'issue_details.performance.hidden_spans_expanded': {};
  26. 'issue_error_banner.viewed': {
  27. error_message: string[];
  28. error_type: string[];
  29. group?: string;
  30. platform?: string;
  31. };
  32. 'issue_group_details.stack_traces.setup_source_maps_alert.clicked': {
  33. platform?: string;
  34. project_id?: string;
  35. };
  36. 'issue_group_details.tab.clicked': {
  37. tab: string;
  38. browser?: string;
  39. device?: string;
  40. os?: string;
  41. platform?: string;
  42. };
  43. 'issue_group_details.tags.bar.clicked': {
  44. is_mobile: boolean;
  45. tag: string;
  46. type: TagFacetsStyles;
  47. value: string;
  48. platform?: string;
  49. };
  50. 'issue_group_details.tags.bar.hovered': {
  51. is_mobile: boolean;
  52. tag: string;
  53. type: TagFacetsStyles;
  54. value: string;
  55. platform?: string;
  56. };
  57. 'issue_group_details.tags.show_all_tags.clicked': {
  58. is_mobile: boolean;
  59. type: TagFacetsStyles;
  60. platform?: string;
  61. tag?: string;
  62. };
  63. 'issue_group_details.tags.switcher.clicked': {
  64. is_mobile: boolean;
  65. previous_tag: string;
  66. tag: string;
  67. platform?: string;
  68. };
  69. 'issue_group_details.tags_distribution.bar.clicked': {
  70. is_mobile: boolean;
  71. tag: string;
  72. value: string;
  73. platform?: string;
  74. };
  75. 'issue_search.empty': {
  76. query: string;
  77. search_source: string;
  78. search_type: string;
  79. };
  80. 'issue_search.failed': {
  81. error: string;
  82. search_source: string;
  83. search_type: string;
  84. };
  85. 'issues_stream.issue_assigned': IssueStream & {
  86. assigned_type: string;
  87. did_assign_suggestion: boolean;
  88. assigned_suggestion_reason?: string;
  89. };
  90. 'issues_stream.issue_clicked': IssueStream;
  91. 'issues_stream.paginate': {
  92. direction: string;
  93. };
  94. 'issues_stream.realtime_clicked': {
  95. enabled: boolean;
  96. };
  97. 'issues_stream.sort_changed': {
  98. sort: string;
  99. };
  100. 'issues_tab.viewed': {
  101. num_issues: number;
  102. num_perf_issues: number;
  103. page: number;
  104. query: string;
  105. tab?: string;
  106. };
  107. 'quick_trace.connected_services': {
  108. projects: number;
  109. };
  110. 'quick_trace.dropdown.clicked': {
  111. node_key: string;
  112. };
  113. 'quick_trace.dropdown.clicked_extra': {
  114. node_key: string;
  115. };
  116. 'quick_trace.missing_service.dismiss': {
  117. platform: string;
  118. };
  119. 'quick_trace.missing_service.docs': {
  120. platform: string;
  121. };
  122. 'quick_trace.node.clicked': {
  123. node_key: string;
  124. };
  125. resolve_issue: {release: string};
  126. 'span_view.embedded_child.hide': {};
  127. 'span_view.embedded_child.show': {};
  128. 'tag.clicked': {
  129. is_clickable: boolean;
  130. };
  131. };
  132. export type IssueEventKey = keyof IssueEventParameters;
  133. export const issueEventMap: Record<IssueEventKey, string | null> = {
  134. 'event_cause.viewed': null,
  135. 'event_cause.docs_clicked': 'Event Cause Docs Clicked',
  136. 'event_cause.snoozed': 'Event Cause Snoozed',
  137. 'event_cause.dismissed': 'Event Cause Dismissed',
  138. 'issue_error_banner.viewed': 'Issue Error Banner Viewed',
  139. 'issues_tab.viewed': 'Viewed Issues Tab',
  140. 'issue_search.failed': 'Issue Search: Failed',
  141. 'issue_search.empty': 'Issue Search: Empty',
  142. 'issue.search_sidebar_clicked': 'Issue Search Sidebar Clicked',
  143. 'inbox_tab.issue_clicked': 'Clicked Issue from Inbox Tab',
  144. 'issues_stream.realtime_clicked': 'Issues Stream: Realtime Clicked',
  145. 'issues_stream.issue_clicked': 'Clicked Issue from Issues Stream',
  146. 'issues_stream.issue_assigned': 'Assigned Issue from Issues Stream',
  147. 'issues_stream.sort_changed': 'Changed Sort on Issues Stream',
  148. 'issues_stream.paginate': 'Paginate Issues Stream',
  149. 'issue.shared_publicly': 'Issue Shared Publicly',
  150. 'issue_group_details.stack_traces.setup_source_maps_alert.clicked':
  151. 'Issue Group Details: Setup Source Maps Alert Clicked',
  152. resolve_issue: 'Resolve Issue',
  153. 'tag.clicked': 'Tag: Clicked',
  154. 'issue.quick_trace_status': 'Issue Quick Trace Status',
  155. 'quick_trace.missing_service.dismiss': 'Quick Trace: Missing Service Dismissed',
  156. 'quick_trace.missing_service.docs': 'Quick Trace: Missing Service Clicked',
  157. 'quick_trace.dropdown.clicked': 'Quick Trace: Dropdown clicked',
  158. 'quick_trace.dropdown.clicked_extra': 'Quick Trace: Dropdown clicked',
  159. 'quick_trace.node.clicked': 'Quick Trace: Node clicked',
  160. 'quick_trace.connected_services': 'Quick Trace: Connected Services',
  161. 'span_view.embedded_child.hide': 'Span View: Hide Embedded Transaction',
  162. 'span_view.embedded_child.show': 'Span View: Show Embedded Transaction',
  163. 'issue_group_details.tab.clicked': 'Issue Group Details: Header Tab Clicked',
  164. 'issue_group_details.tags.show_all_tags.clicked':
  165. 'Issue Group Details: Tags show all clicked',
  166. 'issue_group_details.tags.switcher.clicked':
  167. 'Issue Group Details: Tags switcher clicked',
  168. 'issue_group_details.tags.bar.clicked': 'Issue Group Details: Tags value bar clicked',
  169. 'issue_group_details.tags.bar.hovered': 'Issue Group Details: Tags value bar hovered',
  170. 'issue_group_details.tags_distribution.bar.clicked':
  171. 'Issue Group Details: Tags distribution value bar clicked',
  172. // Performance Issue specific events here
  173. 'issue_details.performance.autogrouped_siblings_toggle':
  174. 'Performance Issue Details: Autogrouped Siblings Toggled',
  175. 'issue_details.performance.hidden_spans_expanded':
  176. 'Performance Issue Details: Hidden Spans Expanded',
  177. };