profilingAnalyticsEvents.tsx 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import {PlatformKey} from 'sentry/data/platformCategories';
  2. type ProfilingEventSource =
  3. | 'discover.transactions_table'
  4. | 'performance.missing_instrumentation'
  5. | 'performance.trace_view'
  6. | 'performance.transactions_summary.overview'
  7. | 'slowest_transaction_panel'
  8. | 'transaction_details'
  9. | 'transaction_hovercard.trigger'
  10. | 'transaction_hovercard.latest_profile'
  11. | 'transaction_hovercard.slowest_profile'
  12. | 'transaction_hovercard.suspect_function'
  13. | 'events.profile_event_context'
  14. | 'profiling_transaction.suspect_functions_table'
  15. | 'performance_transaction.suspect_functions_table'
  16. | 'discover.table';
  17. interface EventPayloadWithProjectDetails {
  18. project_id: string | number | undefined;
  19. project_platform: PlatformKey | undefined;
  20. }
  21. export type ProfilingEventParameters = {
  22. // ui interactions
  23. 'profiling_ui_events.transaction_hovercard_view': {};
  24. // views & nav
  25. 'profiling_views.give_feedback_action': {};
  26. 'profiling_views.go_to_flamegraph': {source: ProfilingEventSource};
  27. 'profiling_views.go_to_transaction': {
  28. source: ProfilingEventSource;
  29. };
  30. 'profiling_views.landing': {};
  31. 'profiling_views.onboarding': {};
  32. 'profiling_views.onboarding_action': {
  33. action: 'done' | 'dismissed';
  34. };
  35. 'profiling_views.profile_details': EventPayloadWithProjectDetails;
  36. 'profiling_views.profile_flamegraph': EventPayloadWithProjectDetails;
  37. 'profiling_views.profile_summary': EventPayloadWithProjectDetails;
  38. 'profiling_views.visit_discord_channel': {};
  39. };
  40. type EventKey = keyof ProfilingEventParameters;
  41. export const profilingEventMap: Record<EventKey, string> = {
  42. 'profiling_views.landing': 'Profiling Views: Landing',
  43. 'profiling_views.onboarding': 'Profiling Views: Onboarding',
  44. 'profiling_views.profile_flamegraph': 'Profiling Views: Flamegraph',
  45. 'profiling_views.profile_summary': 'Profiling Views: Profile Summary',
  46. 'profiling_views.profile_details': 'Profiling Views: Profile Details',
  47. 'profiling_views.go_to_flamegraph': 'Profiling Views: Go to Flamegraph',
  48. 'profiling_views.go_to_transaction': 'Profiling Views: Go to Transaction',
  49. 'profiling_views.onboarding_action': 'Profiling Actions: Onboarding Action',
  50. 'profiling_views.give_feedback_action': 'Profiling Actions: Feedback Action',
  51. 'profiling_views.visit_discord_channel': 'Profiling Actions: Visit Discord Channel',
  52. 'profiling_ui_events.transaction_hovercard_view':
  53. 'Profiling Actions: Viewed Transaction Hovercard',
  54. };