diff --git a/static/app/utils/discover/fieldRenderers.tsx b/static/app/utils/discover/fieldRenderers.tsx index 876a62dc7bc210..674c933c411364 100644 --- a/static/app/utils/discover/fieldRenderers.tsx +++ b/static/app/utils/discover/fieldRenderers.tsx @@ -546,7 +546,7 @@ const SPECIAL_FIELDS: SpecialFields = { sortField: 'profile.id', renderFunc: data => { const id: string | unknown = data?.['profile.id']; - if (typeof id !== 'string') { + if (typeof id !== 'string' || id === '') { return emptyValue; } diff --git a/static/app/views/explore/contexts/spanTagsContext.tsx b/static/app/views/explore/contexts/spanTagsContext.tsx index 60396ff0fb5836..d8d4ca4e720da6 100644 --- a/static/app/views/explore/contexts/spanTagsContext.tsx +++ b/static/app/views/explore/contexts/spanTagsContext.tsx @@ -70,6 +70,7 @@ export function SpanTagsProvider({children, dataset, enabled}: SpanTagsProviderP // as we're moving toward span ids 'id', // SpanIndexedField.SPAN_OP is actually `span_id` + 'profile.id', // SpanIndexedField.PROFILE_ID is actually `profile_id` SpanIndexedField.BROWSER_NAME, SpanIndexedField.ENVIRONMENT, SpanIndexedField.ORIGIN_TRANSACTION, diff --git a/static/app/views/explore/tables/fieldRenderer.tsx b/static/app/views/explore/tables/fieldRenderer.tsx index 5ca833eb4a7520..d55bf4844d4eec 100644 --- a/static/app/views/explore/tables/fieldRenderer.tsx +++ b/static/app/views/explore/tables/fieldRenderer.tsx @@ -9,6 +9,7 @@ import {getFieldRenderer} from 'sentry/utils/discover/fieldRenderers'; import {Container} from 'sentry/utils/discover/styles'; import {generateLinkToEventInTraceView} from 'sentry/utils/discover/urls'; import {getShortEventId} from 'sentry/utils/events'; +import {generateProfileFlamechartRouteWithQuery} from 'sentry/utils/profiling/routes'; import {MutableSearch} from 'sentry/utils/tokenizeSearch'; import {useLocation} from 'sentry/utils/useLocation'; import useOrganization from 'sentry/utils/useOrganization'; @@ -78,6 +79,15 @@ export function FieldRenderer({data, meta, unit, column}: FieldProps) { rendered = {rendered}; } + if (field === 'profile.id') { + const target = generateProfileFlamechartRouteWithQuery({ + orgSlug: organization.slug, + projectSlug: data.project, + profileId: data['profile.id'], + }); + rendered = {rendered}; + } + return (