stacktraceLinkAnalyticsEvents.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import type {StacktraceErrorMessage} from 'sentry/types';
  2. import {PlatformType} from 'sentry/types';
  3. import {BaseEventAnalyticsParams} from 'sentry/utils/analytics/workflowAnalyticsEvents';
  4. import {IntegrationView} from './index';
  5. export enum StacktraceLinkEvents {
  6. COMPLETE_SETUP = 'integrations.stacktrace_complete_setup',
  7. OPEN_DOCS = 'integrations.stacktrace_docs_clicked',
  8. OPEN_LINK = 'integrations.stacktrace_link_clicked',
  9. DISMISS_CTA = 'integrations.stacktrace_link_cta_dismissed',
  10. MANUAL_OPTION = 'integrations.stacktrace_manual_option_clicked',
  11. START_SETUP = 'integrations.stacktrace_start_setup',
  12. SUBMIT = 'integrations.stacktrace_submit_config',
  13. LINK_VIEWED = 'integrations.stacktrace_link_viewed',
  14. }
  15. // This type allows analytics functions to use the string literal or enum.KEY
  16. type StacktraceLinkEventsLiterals = `${StacktraceLinkEvents}`;
  17. export type StacktraceLinkEventParameters = {
  18. [key in StacktraceLinkEventsLiterals]: {
  19. error_reason?: StacktraceErrorMessage;
  20. platform?: PlatformType;
  21. project_id?: string;
  22. provider?: string;
  23. setup_type?: 'automatic' | 'manual';
  24. state?: 'match' | 'no_match' | 'prompt' | 'empty';
  25. } & IntegrationView &
  26. Partial<BaseEventAnalyticsParams>; // make optional
  27. };
  28. export const stacktraceLinkEventMap: Record<StacktraceLinkEventsLiterals, string> = {
  29. [StacktraceLinkEvents.COMPLETE_SETUP]: 'Integrations: Stacktrace Complete Setup',
  30. [StacktraceLinkEvents.OPEN_DOCS]: 'Integrations: Stacktrace Docs Clicked',
  31. [StacktraceLinkEvents.OPEN_LINK]: 'Integrations: Stacktrace Link Clicked',
  32. [StacktraceLinkEvents.LINK_VIEWED]: 'Integrations: Stacktrace Link Viewed',
  33. [StacktraceLinkEvents.DISMISS_CTA]: 'Integrations: Stacktrace Link CTA Dismissed',
  34. [StacktraceLinkEvents.MANUAL_OPTION]: 'Integrations: Stacktrace Manual Option Clicked',
  35. [StacktraceLinkEvents.START_SETUP]: 'Integrations: Stacktrace Start Setup',
  36. [StacktraceLinkEvents.SUBMIT]: 'Integrations: Stacktrace Submit Config',
  37. };