import ErrorBoundary from 'sentry/components/errorBoundary'; import {EventDataSection} from 'sentry/components/events/eventDataSection'; import {t} from 'sentry/locale'; import { Group, IssueCategory, Organization, Project, SharedViewOrganization, } from 'sentry/types'; import {Entry, EntryType, Event, EventTransaction} from 'sentry/types/event'; import {Breadcrumbs} from './interfaces/breadcrumbs'; import {Csp} from './interfaces/csp'; import {DebugMeta} from './interfaces/debugMeta'; import {Exception} from './interfaces/exception'; import {Generic} from './interfaces/generic'; import {Message} from './interfaces/message'; import {SpanEvidenceSection} from './interfaces/performance/spanEvidence'; import {Request} from './interfaces/request'; import {Spans} from './interfaces/spans'; import {StackTrace} from './interfaces/stackTrace'; import {Template} from './interfaces/template'; import {Threads} from './interfaces/threads'; type Props = { entry: Entry; event: Event; organization: SharedViewOrganization | Organization; projectSlug: Project['slug']; group?: Group; isShare?: boolean; }; function EventEntryContent({ entry, projectSlug, event, organization, group, isShare, }: Props) { const hasHierarchicalGrouping = !!organization.features?.includes('grouping-stacktrace-ui') && !!(event.metadata.current_tree_label || event.metadata.finest_tree_label); const groupingCurrentLevel = group?.metadata?.current_level; switch (entry.type) { case EntryType.EXCEPTION: return ( ); case EntryType.MESSAGE: return ; case EntryType.REQUEST: return ; case EntryType.STACKTRACE: return ( ); case EntryType.TEMPLATE: return ; case EntryType.CSP: return ; case EntryType.EXPECTCT: case EntryType.EXPECTSTAPLE: const {data, type} = entry; return ; case EntryType.HPKP: return ( ); case EntryType.BREADCRUMBS: return ( ); case EntryType.THREADS: return ( ); case EntryType.DEBUGMETA: return ( ); case EntryType.SPANS: // XXX: We currently do not show spans in the share view, if (isShare) { return null; } if (group?.issueCategory === IssueCategory.PERFORMANCE) { return ( ); } return ( ); // this should not happen default: if (window.console) { // eslint-disable-next-line no-console console.error?.('Unregistered interface: ' + (entry as any).type); } return null; } } export function EventEntry(props: Props) { return ( {t('There was an error rendering this data.')} } > ); }
{t('There was an error rendering this data.')}