issueAnalyticsEvents.tsx 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. type IssueStream = {
  2. group_id: string;
  3. tab: string;
  4. was_shown_suggestion: boolean;
  5. };
  6. export type IssueEventParameters = {
  7. 'event_cause.dismissed': {};
  8. 'event_cause.docs_clicked': {};
  9. 'event_cause.snoozed': {};
  10. 'event_cause.viewed': {
  11. platform?: string;
  12. project_id?: string;
  13. };
  14. 'inbox_tab.issue_clicked': {
  15. group_id: string;
  16. };
  17. 'issue.quick_trace_status': {
  18. is_performance_issue: boolean;
  19. status: string;
  20. };
  21. 'issue.search_sidebar_clicked': {};
  22. 'issue.shared_publicly': {};
  23. 'issue_error_banner.viewed': {
  24. error_message: string[];
  25. error_type: string[];
  26. group?: string;
  27. platform?: string;
  28. };
  29. 'issue_search.empty': {
  30. query: string;
  31. search_source: string;
  32. search_type: string;
  33. };
  34. 'issue_search.failed': {
  35. error: string;
  36. search_source: string;
  37. search_type: string;
  38. };
  39. 'issues_stream.issue_assigned': IssueStream & {
  40. assigned_type: string;
  41. did_assign_suggestion: boolean;
  42. assigned_suggestion_reason?: string;
  43. };
  44. 'issues_stream.issue_clicked': IssueStream;
  45. 'issues_stream.paginate': {
  46. direction: string;
  47. };
  48. 'issues_stream.realtime_clicked': {
  49. enabled: boolean;
  50. };
  51. 'issues_stream.sort_changed': {
  52. sort: string;
  53. };
  54. 'issues_tab.viewed': {
  55. num_issues: number;
  56. tab: string;
  57. };
  58. resolve_issue: {release: string};
  59. 'span_view.embedded_child.hide': {};
  60. 'span_view.embedded_child.show': {};
  61. 'tag.clicked': {
  62. is_clickable: boolean;
  63. };
  64. };
  65. export type IssueEventKey = keyof IssueEventParameters;
  66. export const issueEventMap: Record<IssueEventKey, string | null> = {
  67. 'event_cause.viewed': null, // send to main event store only due to high event volume
  68. 'event_cause.docs_clicked': 'Event Cause Docs Clicked',
  69. 'event_cause.snoozed': 'Event Cause Snoozed',
  70. 'event_cause.dismissed': 'Event Cause Dismissed',
  71. 'issue_error_banner.viewed': 'Issue Error Banner Viewed',
  72. 'issues_tab.viewed': 'Viewed Issues Tab', // high volume but send to our secondary event store anyways
  73. 'issue_search.failed': 'Issue Search: Failed',
  74. 'issue_search.empty': 'Issue Search: Empty',
  75. 'issue.search_sidebar_clicked': 'Issue Search Sidebar Clicked',
  76. 'inbox_tab.issue_clicked': 'Clicked Issue from Inbox Tab',
  77. 'issues_stream.realtime_clicked': 'Issues Stream: Realtime Clicked',
  78. 'issues_stream.issue_clicked': 'Clicked Issue from Issues Stream',
  79. 'issues_stream.issue_assigned': 'Assigned Issue from Issues Stream',
  80. 'issues_stream.sort_changed': 'Changed Sort on Issues Stream',
  81. 'issues_stream.paginate': 'Paginate Issues Stream',
  82. 'issue.shared_publicly': 'Issue Shared Publicly',
  83. resolve_issue: 'Resolve Issue',
  84. 'tag.clicked': 'Tag: Clicked',
  85. 'issue.quick_trace_status': 'Issue Quick Trace Status',
  86. 'span_view.embedded_child.hide': 'Span View: Hide Embedded Transaction',
  87. 'span_view.embedded_child.show': 'Span View: Show Embedded Transaction',
  88. };