import {LinkButton} from 'sentry/components/button'; import KeyValueList from 'sentry/components/events/interfaces/keyValueList'; import {IconProfiling} from 'sentry/icons'; import {t} from 'sentry/locale'; import type {Event} from 'sentry/types/event'; import {generateLinkToEventInTraceView} from 'sentry/utils/discover/urls'; import {generateProfileFlamechartRouteWithHighlightFrame} from 'sentry/utils/profiling/routes'; import {useLocation} from 'sentry/utils/useLocation'; import useOrganization from 'sentry/utils/useOrganization'; import {SectionKey} from 'sentry/views/issueDetails/streamline/context'; import {InterimSection} from 'sentry/views/issueDetails/streamline/interimSection'; type ProfileEvidenceProps = {event: Event; projectSlug: string}; export function ProfileEventEvidence({event, projectSlug}: ProfileEvidenceProps) { const organization = useOrganization(); const location = useLocation(); const evidenceData = event.occurrence?.evidenceData ?? {}; const evidenceDisplay = event.occurrence?.evidenceDisplay ?? []; const traceSlug = event.contexts?.trace?.trace_id ?? ''; const keyValueListData = [ ...(evidenceData.transactionId && evidenceData.transactionName ? [ { subject: 'Transaction Name', key: 'Transaction Name', value: evidenceData.transactionName, actionButton: traceSlug ? ( {t('View Transaction')} ) : null, }, ] : []), ...(evidenceData.profileId ? [ { subject: 'Profile ID', key: 'Profile ID', value: evidenceData.profileId, actionButton: ( } > {t('View Profile')} ), }, ] : []), ...evidenceDisplay.map(item => ({ subject: item.name, key: item.name, value: item.value, })), ]; return ( ); }