diff --git a/static/app/components/events/interfaces/spans/spanDetail.spec.tsx b/static/app/components/events/interfaces/spans/spanDetail.spec.tsx index 96ff2867a9f958..e19b3c2598d439 100644 --- a/static/app/components/events/interfaces/spans/spanDetail.spec.tsx +++ b/static/app/components/events/interfaces/spans/spanDetail.spec.tsx @@ -150,7 +150,7 @@ describe('SpanDetail', function () { }), organization: OrganizationFixture({ ...organization, - features: ['performance-database-view'], + features: ['spans-first-ui'], }), }) ); diff --git a/static/app/components/events/interfaces/spans/spanSummaryButton.tsx b/static/app/components/events/interfaces/spans/spanSummaryButton.tsx index 79cc86c3100767..19fa2b9571873b 100644 --- a/static/app/components/events/interfaces/spans/spanSummaryButton.tsx +++ b/static/app/components/events/interfaces/spans/spanSummaryButton.tsx @@ -29,7 +29,7 @@ function SpanSummaryButton(props: Props) { const resolvedModule = resolveSpanModule(sentryTags.op, sentryTags.category); if ( - organization.features.includes('performance-database-view') && + organization.features.includes('spans-first-ui') && resolvedModule === ModuleName.DB ) { return ( @@ -48,7 +48,7 @@ function SpanSummaryButton(props: Props) { } if ( - organization.features.includes('starfish-browser-resource-module-ui') && + organization.features.includes('spans-first-ui') && resolvedModule === ModuleName.RESOURCE && resourceSummaryAvailable(sentryTags.op) ) { diff --git a/static/app/components/sidebar/index.tsx b/static/app/components/sidebar/index.tsx index 7499f12249a2d2..7d243301545f15 100644 --- a/static/app/components/sidebar/index.tsx +++ b/static/app/components/sidebar/index.tsx @@ -245,12 +245,9 @@ function Sidebar() { {(() => { // If Database View or Web Vitals View is enabled, show a Performance accordion with a Database and/or Web Vitals sub-item if ( - organization.features.includes('performance-database-view') || - organization.features.includes('starfish-browser-webvitals') || - organization.features.includes('performance-screens-view') || + organization.features.includes('spans-first-ui') || organization.features.includes('performance-http-view') || - organization.features.includes('performance-cache-view') || - organization.features.includes('starfish-browser-resource-module-ui') + organization.features.includes('performance-cache-view') ) { return ( - + - + } /> - + } /> - + } /> - + {t('Resources')}} diff --git a/static/app/views/performance/browser/resources/index.spec.tsx b/static/app/views/performance/browser/resources/index.spec.tsx index f35e8d432f00f8..4e01f122af51a8 100644 --- a/static/app/views/performance/browser/resources/index.spec.tsx +++ b/static/app/views/performance/browser/resources/index.spec.tsx @@ -29,11 +29,7 @@ const requestMocks: Record = {}; describe('ResourcesLandingPage', function () { const organization = OrganizationFixture({ - features: [ - 'starfish-browser-resource-module-ui', - 'starfish-view', - 'performance-database-view', - ], + features: ['spans-first-ui', 'starfish-view'], }); beforeEach(() => { diff --git a/static/app/views/performance/browser/resources/index.tsx b/static/app/views/performance/browser/resources/index.tsx index bb2d3412b5cbde..71fd65fc48c202 100644 --- a/static/app/views/performance/browser/resources/index.tsx +++ b/static/app/views/performance/browser/resources/index.tsx @@ -37,7 +37,7 @@ function ResourcesLandingPage() { diff --git a/static/app/views/performance/browser/resources/resourceSummaryPage/index.tsx b/static/app/views/performance/browser/resources/resourceSummaryPage/index.tsx index 4726b69374e8a5..d6c903a429cbb3 100644 --- a/static/app/views/performance/browser/resources/resourceSummaryPage/index.tsx +++ b/static/app/views/performance/browser/resources/resourceSummaryPage/index.tsx @@ -78,7 +78,7 @@ function ResourceSummary() { diff --git a/static/app/views/performance/browser/resources/resourceSummaryPage/sampleImages.spec.tsx b/static/app/views/performance/browser/resources/resourceSummaryPage/sampleImages.spec.tsx index ef992647127ea0..4d5eaa4bbbf3b7 100644 --- a/static/app/views/performance/browser/resources/resourceSummaryPage/sampleImages.spec.tsx +++ b/static/app/views/performance/browser/resources/resourceSummaryPage/sampleImages.spec.tsx @@ -20,11 +20,7 @@ jest.mock('sentry/utils/useOrganization'); describe('SampleImages', function () { const organization = OrganizationFixture({ - features: [ - 'starfish-browser-resource-module-ui', - 'starfish-view', - 'performance-database-view', - ], + features: ['starfish-view', 'spans-first-ui'], }); beforeEach(() => { diff --git a/static/app/views/performance/browser/resources/resourceView/index.tsx b/static/app/views/performance/browser/resources/resourceView/index.tsx index 15e014aa75bf24..351528d81885a2 100644 --- a/static/app/views/performance/browser/resources/resourceView/index.tsx +++ b/static/app/views/performance/browser/resources/resourceView/index.tsx @@ -86,7 +86,7 @@ function ResourceView() { function ResourceTypeSelector({value}: {value?: string}) { const location = useLocation(); const {features} = useOrganization(); - const hasImageView = features.includes('starfish-browser-resource-module-image-view'); + const hasImageView = features.includes('spans-first-ui'); const options: Option[] = [ {value: '', label: 'All'}, diff --git a/static/app/views/performance/browser/webVitals/pageOverview.spec.tsx b/static/app/views/performance/browser/webVitals/pageOverview.spec.tsx index c396f53b19e8e2..4f442866d02ed7 100644 --- a/static/app/views/performance/browser/webVitals/pageOverview.spec.tsx +++ b/static/app/views/performance/browser/webVitals/pageOverview.spec.tsx @@ -13,7 +13,7 @@ jest.mock('sentry/utils/useOrganization'); describe('PageOverview', function () { const organization = OrganizationFixture({ - features: ['starfish-browser-webvitals', 'performance-database-view'], + features: ['spans-first-ui'], }); let eventsMock; @@ -85,7 +85,7 @@ describe('PageOverview', function () { it('renders interaction samples', async () => { const organizationWithInp = OrganizationFixture({ - features: ['starfish-browser-webvitals', 'performance-database-view'], + features: ['spans-first-ui'], }); jest.mocked(useOrganization).mockReturnValue(organizationWithInp); jest.mocked(useLocation).mockReturnValue({ @@ -130,7 +130,7 @@ describe('PageOverview', function () { it('escapes transaction name before querying discover', async () => { const organizationWithInp = OrganizationFixture({ - features: ['starfish-browser-webvitals', 'performance-database-view'], + features: ['spans-first-ui'], }); jest.mocked(useOrganization).mockReturnValue(organizationWithInp); jest.mocked(useLocation).mockReturnValue({ diff --git a/static/app/views/performance/browser/webVitals/pageOverview.tsx b/static/app/views/performance/browser/webVitals/pageOverview.tsx index 0d625776869a58..0df4c10dbe8913 100644 --- a/static/app/views/performance/browser/webVitals/pageOverview.tsx +++ b/static/app/views/performance/browser/webVitals/pageOverview.tsx @@ -140,7 +140,7 @@ export default function PageOverview() { diff --git a/static/app/views/performance/database/databaseLandingPage.tsx b/static/app/views/performance/database/databaseLandingPage.tsx index 827c18707f9c10..85c73b273f692a 100644 --- a/static/app/views/performance/database/databaseLandingPage.tsx +++ b/static/app/views/performance/database/databaseLandingPage.tsx @@ -260,7 +260,7 @@ function LandingPageWithProviders() { diff --git a/static/app/views/performance/database/databaseSpanSummaryPage.tsx b/static/app/views/performance/database/databaseSpanSummaryPage.tsx index 7df76a3b4e9896..61f37a6594d1e5 100644 --- a/static/app/views/performance/database/databaseSpanSummaryPage.tsx +++ b/static/app/views/performance/database/databaseSpanSummaryPage.tsx @@ -129,7 +129,7 @@ function SpanSummaryPage({params}: Props) { diff --git a/static/app/views/performance/landing/views/allTransactionsView.tsx b/static/app/views/performance/landing/views/allTransactionsView.tsx index a445bda06cfeeb..868888fb6b15e8 100644 --- a/static/app/views/performance/landing/views/allTransactionsView.tsx +++ b/static/app/views/performance/landing/views/allTransactionsView.tsx @@ -45,7 +45,7 @@ export function AllTransactionsView(props: BasePerformanceViewProps) { props.organization.features.includes('performance-new-trends') && canUseMetricsData(props.organization) ) { - if (props.organization.features.includes('performance-database-view')) { + if (props.organization.features.includes('spans-first-ui')) { doubleChartRowCharts.unshift(PerformanceWidgetSetting.MOST_RELATED_ISSUES); doubleChartRowCharts.unshift(PerformanceWidgetSetting.MOST_CHANGED); doubleChartRowCharts.unshift(PerformanceWidgetSetting.MOST_TIME_SPENT_DB_QUERIES); diff --git a/static/app/views/performance/landing/views/backendView.tsx b/static/app/views/performance/landing/views/backendView.tsx index ece02d3fb72b0f..674cffeeae1a5a 100644 --- a/static/app/views/performance/landing/views/backendView.tsx +++ b/static/app/views/performance/landing/views/backendView.tsx @@ -69,7 +69,7 @@ export function BackendView(props: BasePerformanceViewProps) { doubleChartRowCharts.push(PerformanceWidgetSetting.MOST_CHANGED); } - if (props.organization.features.includes('performance-database-view')) { + if (props.organization.features.includes('spans-first-ui')) { doubleChartRowCharts.unshift(PerformanceWidgetSetting.MOST_TIME_SPENT_DB_QUERIES); } } else { diff --git a/static/app/views/performance/landing/views/frontendOtherView.tsx b/static/app/views/performance/landing/views/frontendOtherView.tsx index 24d4a5aa9e5398..758c874807e215 100644 --- a/static/app/views/performance/landing/views/frontendOtherView.tsx +++ b/static/app/views/performance/landing/views/frontendOtherView.tsx @@ -37,7 +37,7 @@ export function FrontendOtherView(props: BasePerformanceViewProps) { PerformanceWidgetSetting.SLOW_RESOURCE_OPS, ]; - if (props.organization.features.includes('starfish-browser-resource-module-ui')) { + if (props.organization.features.includes('spans-first-ui')) { doubleChartRowCharts.unshift(PerformanceWidgetSetting.MOST_TIME_CONSUMING_RESOURCES); } diff --git a/static/app/views/performance/landing/views/mobileView.tsx b/static/app/views/performance/landing/views/mobileView.tsx index 7eb9fd72c3ce0c..483f3fa0b49926 100644 --- a/static/app/views/performance/landing/views/mobileView.tsx +++ b/static/app/views/performance/landing/views/mobileView.tsx @@ -40,7 +40,7 @@ export function MobileView(props: BasePerformanceViewProps) { ] ); } - if (organization.features.includes('performance-screens-view')) { + if (organization.features.includes('spans-first-ui')) { doubleRowAllowedCharts[0] = PerformanceWidgetSetting.SLOW_SCREENS_BY_TTID; } if ( diff --git a/static/app/views/performance/transactionSummary/aggregateSpanWaterfall/index.tsx b/static/app/views/performance/transactionSummary/aggregateSpanWaterfall/index.tsx index 2d592f7f1b1a60..a9aa1f39136fed 100644 --- a/static/app/views/performance/transactionSummary/aggregateSpanWaterfall/index.tsx +++ b/static/app/views/performance/transactionSummary/aggregateSpanWaterfall/index.tsx @@ -36,7 +36,7 @@ function AggregateSpanWaterfall(): React.ReactElement { const httpMethod = decodeScalar(location.query['http.method']); return ( diff --git a/static/app/views/performance/transactionSummary/header.tsx b/static/app/views/performance/transactionSummary/header.tsx index 1197a9320d2b70..55e551bd5cc214 100644 --- a/static/app/views/performance/transactionSummary/header.tsx +++ b/static/app/views/performance/transactionSummary/header.tsx @@ -77,9 +77,7 @@ function TransactionHeader({ organization.features.includes('profiling') && isProfilingSupportedOrProjectHasProfiles(project); - const hasAggregateWaterfall = organization.features.includes( - 'starfish-aggregate-span-waterfall' - ); + const hasAggregateWaterfall = organization.features.includes('spans-first-ui'); const getWebVitals = useCallback( (hasMeasurements: boolean) => { diff --git a/static/app/views/settings/projectPerformance/projectPerformance.tsx b/static/app/views/settings/projectPerformance/projectPerformance.tsx index f78f76cd461e21..38f9c4b37afe40 100644 --- a/static/app/views/settings/projectPerformance/projectPerformance.tsx +++ b/static/app/views/settings/projectPerformance/projectPerformance.tsx @@ -841,7 +841,7 @@ class ProjectPerformance extends DeprecatedAsyncView { {({hasAccess}) => ( - +
+ diff --git a/static/app/views/starfish/modules/mobile/pageload.spec.tsx b/static/app/views/starfish/modules/mobile/pageload.spec.tsx index 07882438d7428d..5e2a13d53b8e18 100644 --- a/static/app/views/starfish/modules/mobile/pageload.spec.tsx +++ b/static/app/views/starfish/modules/mobile/pageload.spec.tsx @@ -23,11 +23,7 @@ jest.mock('sentry/utils/useProjects'); describe('PageloadModule', function () { const project = ProjectFixture({platform: 'react-native'}); const organization = OrganizationFixture({ - features: [ - 'performance-screens-view', - 'mobile-ttid-ttfd-contribution', - 'performance-screens-platform-selector', - ], + features: ['spans-first-ui'], projects: [project], }); jest.mocked(useOrganization).mockReturnValue(organization); diff --git a/static/app/views/starfish/modules/mobile/pageload.tsx b/static/app/views/starfish/modules/mobile/pageload.tsx index 0e552502b532da..989f18dce7effb 100644 --- a/static/app/views/starfish/modules/mobile/pageload.tsx +++ b/static/app/views/starfish/modules/mobile/pageload.tsx @@ -59,9 +59,7 @@ export default function PageloadModule() { /> {t('Screen Loads')} - {organization.features.includes( - 'performance-screens-platform-selector' - ) && + {organization.features.includes('spans-first-ui') && project && isCrossPlatform(project) && } diff --git a/static/app/views/starfish/views/screens/index.tsx b/static/app/views/starfish/views/screens/index.tsx index ab00b911d89120..b497068d54c666 100644 --- a/static/app/views/starfish/views/screens/index.tsx +++ b/static/app/views/starfish/views/screens/index.tsx @@ -122,9 +122,7 @@ export function ScreensView({yAxes, additionalFilters, chartHeight, project}: Pr const {query: locationQuery} = location; const cursor = decodeScalar(location.query?.[MobileCursors.SCREENS_TABLE]); - const hasPlatformSelectFeature = organization.features.includes( - 'performance-screens-platform-selector' - ); + const hasPlatformSelectFeature = organization.features.includes('spans-first-ui'); const yAxisCols = yAxes.map(val => YAXIS_COLUMNS[val]); const platform = diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/charts.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/charts.tsx index 151d360b655162..9fbdab640d2996 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/charts.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/charts.tsx @@ -76,9 +76,7 @@ export function ScreenCharts({yAxes, additionalFilters, project}: Props) { isLoading: isReleasesLoading, } = useReleaseSelection(); - const hasPlatformSelectFeature = organization.features.includes( - 'performance-screens-platform-selector' - ); + const hasPlatformSelectFeature = organization.features.includes('spans-first-ui'); const platform = decodeScalar(location.query[PLATFORM_QUERY_PARAM]) ?? localStorage.getItem(PLATFORM_LOCAL_STORAGE_KEY) ?? diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/eventSamples.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/eventSamples.tsx index 6005135491dc06..833dfcf412dd18 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/eventSamples.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/eventSamples.tsx @@ -53,9 +53,7 @@ export function ScreenLoadEventSamples({ const deviceClass = decodeScalar(location.query['device.class']); - const hasPlatformSelectFeature = organization.features.includes( - 'performance-screens-platform-selector' - ); + const hasPlatformSelectFeature = organization.features.includes('spans-first-ui'); const platform = decodeScalar(location.query[PLATFORM_QUERY_PARAM]) ?? localStorage.getItem(PLATFORM_LOCAL_STORAGE_KEY) ?? diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/index.spec.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/index.spec.tsx index 68f55e348acdaf..5f00386c821b55 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/index.spec.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/index.spec.tsx @@ -117,11 +117,7 @@ describe('Screen Summary', function () { beforeEach(function () { const project = ProjectFixture({platform: 'react-native'}); organization = OrganizationFixture({ - features: [ - 'performance-screens-view', - 'mobile-ttid-ttfd-contribution', - 'performance-screens-platform-selector', - ], + features: ['spans-first-ui'], projects: [project], }); mockResponses(organization, project); @@ -217,11 +213,7 @@ describe('Screen Summary', function () { beforeEach(function () { const project = ProjectFixture({platform: 'android'}); organization = OrganizationFixture({ - features: [ - 'performance-screens-view', - 'mobile-ttid-ttfd-contribution', - 'performance-screens-platform-selector', - ], + features: ['spans-first-ui'], projects: [project], }); mockResponses(organization, project); diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/index.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/index.tsx index 2100965f17047c..1b72dfd7bf81dd 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/index.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/index.tsx @@ -108,9 +108,7 @@ function ScreenLoadSpans() { {transactionName} - {organization.features.includes( - 'performance-screens-platform-selector' - ) && + {organization.features.includes('spans-first-ui') && project && isCrossPlatform(project) && } diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/metricsRibbon.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/metricsRibbon.tsx index 2033d5742a1f7d..736157f555df96 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/metricsRibbon.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/metricsRibbon.tsx @@ -60,9 +60,7 @@ export function MetricsRibbon({ isLoading: isReleasesLoading, } = useReleaseSelection(); - const hasPlatformSelectFeature = organization.features.includes( - 'performance-screens-platform-selector' - ); + const hasPlatformSelectFeature = organization.features.includes('spans-first-ui'); const platform = decodeScalar(location.query[PLATFORM_QUERY_PARAM]) ?? localStorage.getItem(PLATFORM_LOCAL_STORAGE_KEY) ?? diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/samples/samplesContainer.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/samples/samplesContainer.tsx index 0d2b5b04d1746a..8cc6fd5ec650e5 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/samples/samplesContainer.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/samples/samplesContainer.tsx @@ -62,9 +62,7 @@ export function ScreenLoadSampleContainer({ const organization = useOrganization(); - const hasPlatformSelectFeature = organization.features.includes( - 'performance-screens-platform-selector' - ); + const hasPlatformSelectFeature = organization.features.includes('spans-first-ui'); const platform = decodeScalar(location.query[PLATFORM_QUERY_PARAM]) ?? localStorage.getItem(PLATFORM_LOCAL_STORAGE_KEY) ?? diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/table.spec.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/table.spec.tsx index eac23d573397e9..9d0364d2e6d051 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/table.spec.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/table.spec.tsx @@ -15,7 +15,7 @@ jest.mock('sentry/utils/usePageFilters'); describe('ScreenLoadSpansTable', function () { const organization = OrganizationFixture({ - features: ['performance-screens-view', 'mobile-ttid-ttfd-contribution'], + features: ['spans-first-ui'], }); jest.mocked(useOrganization).mockReturnValue(organization); diff --git a/static/app/views/starfish/views/screens/screenLoadSpans/table.tsx b/static/app/views/starfish/views/screens/screenLoadSpans/table.tsx index 7dfb52371f3070..76f1e303b725fe 100644 --- a/static/app/views/starfish/views/screens/screenLoadSpans/table.tsx +++ b/static/app/views/starfish/views/screens/screenLoadSpans/table.tsx @@ -76,9 +76,7 @@ export function ScreenLoadSpansTable({ `transaction:"${transaction}"`, ]); - const hasPlatformSelectFeature = organization.features.includes( - 'performance-screens-platform-selector' - ); + const hasPlatformSelectFeature = organization.features.includes('spans-first-ui'); const platform = decodeScalar(location.query[PLATFORM_QUERY_PARAM]) ?? localStorage.getItem(PLATFORM_LOCAL_STORAGE_KEY) ?? @@ -384,9 +382,7 @@ export function ScreenLoadSpansTable({ String(SPAN_DESCRIPTION), `avg_if(${SPAN_SELF_TIME},release,${primaryRelease})`, `avg_if(${SPAN_SELF_TIME},release,${secondaryRelease})`, - ...(organization.features.includes('mobile-ttid-ttfd-contribution') - ? ['affects'] - : []), + ...(organization.features.includes('spans-first-ui') ? ['affects'] : []), ...['count()', 'time_spent_percentage()'], ].map(col => { return {key: col, name: columnNameMap[col] ?? col, width: COL_WIDTH_UNDEFINED};