searchAnalyticsEvents.tsx 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import {ShortcutType} from 'sentry/components/smartSearchBar/types';
  2. type SearchEventBase = {
  3. query: string;
  4. search_type: string;
  5. search_source?: string;
  6. };
  7. type OpenEvent = {};
  8. type SelectEvent = {result_type: string; source_type: string; query?: string};
  9. type QueryEvent = {query: string};
  10. type ProjectSelectorEvent = {path: string};
  11. export type SearchEventParameters = {
  12. 'command_palette.open': OpenEvent;
  13. 'command_palette.query': QueryEvent;
  14. 'command_palette.select': SelectEvent;
  15. 'organization_saved_search.selected': {
  16. id: number;
  17. is_global: boolean;
  18. query: string;
  19. search_type: string;
  20. visibility: string;
  21. };
  22. 'projectselector.clear': ProjectSelectorEvent;
  23. 'projectselector.direct_selection': ProjectSelectorEvent;
  24. 'projectselector.multi_button_clicked': ProjectSelectorEvent & {
  25. button_type: 'all' | 'my';
  26. };
  27. 'projectselector.toggle': ProjectSelectorEvent & {
  28. action: 'added' | 'removed';
  29. };
  30. 'projectselector.update': ProjectSelectorEvent & {
  31. count: number;
  32. multi: boolean;
  33. };
  34. 'search.invalid_field': Omit<SearchEventBase, 'query'> & {attempted_field_name: string};
  35. 'search.operator_autocompleted': SearchEventBase & {search_operator: string};
  36. 'search.pin': {
  37. action: 'pin' | 'unpin';
  38. search_type: string;
  39. query?: string;
  40. };
  41. 'search.saved_search_create': {
  42. name: string;
  43. query: string;
  44. search_type: string;
  45. sort: string;
  46. visibility: string;
  47. };
  48. 'search.saved_search_open_create_modal': OpenEvent;
  49. 'search.saved_search_sidebar_toggle_clicked': {open: boolean};
  50. 'search.search_with_invalid': SearchEventBase;
  51. 'search.searched': SearchEventBase & {search_source?: string};
  52. 'search.shortcut_used': SearchEventBase & {
  53. shortcut_method: 'hotkey' | 'click';
  54. shortcut_type: ShortcutType;
  55. search_source?: string;
  56. };
  57. 'settings_search.open': OpenEvent;
  58. 'settings_search.query': QueryEvent;
  59. 'settings_search.select': SelectEvent;
  60. 'sidebar_help.open': OpenEvent;
  61. 'sidebar_help.query': QueryEvent;
  62. 'sidebar_help.select': SelectEvent;
  63. };
  64. export type SearchEventKey = keyof SearchEventParameters;
  65. export const searchEventMap: Record<SearchEventKey, string | null> = {
  66. 'search.searched': 'Search: Performed search',
  67. 'search.operator_autocompleted': 'Search: Operator Autocompleted',
  68. 'search.shortcut_used': 'Search: Shortcut Used',
  69. 'search.search_with_invalid': 'Search: Attempted Invalid Search',
  70. 'search.invalid_field': 'Search: Unsupported Field Warning Shown',
  71. 'organization_saved_search.selected':
  72. 'Organization Saved Search: Selected saved search',
  73. 'settings_search.open': 'settings_search Open',
  74. 'command_palette.open': 'command_palette Open',
  75. 'sidebar_help.open': 'sidebar_help Open',
  76. 'settings_search.select': 'settings_search Select',
  77. 'command_palette.select': 'command_palette Select',
  78. 'sidebar_help.select': 'sidebar_help Select',
  79. 'settings_search.query': 'settings_search Query',
  80. 'command_palette.query': 'command_palette Query',
  81. 'sidebar_help.query': 'sidebar_help Query',
  82. 'projectselector.direct_selection': 'Project Selector: Direct Selection',
  83. 'projectselector.update': 'Project Selector: Update',
  84. 'projectselector.clear': 'Project Selector: Clear',
  85. 'projectselector.toggle': 'Project Selector: Toggle',
  86. 'projectselector.multi_button_clicked': 'Project Selector: Multi Button Clicked',
  87. 'search.pin': 'Search: Pin',
  88. 'search.saved_search_create': 'Search: Saved Search Created',
  89. 'search.saved_search_open_create_modal': 'Search: Saved Search Modal Opened',
  90. 'search.saved_search_sidebar_toggle_clicked':
  91. 'Search: Saved Search Sidebar Toggle Clicked',
  92. };