diff --git a/static/app/views/insights/mobile/appStarts/components/charts/countChart.tsx b/static/app/views/insights/mobile/appStarts/components/charts/countChart.tsx index 12bbab5a6c75e8..4a6f5a55af41f8 100644 --- a/static/app/views/insights/mobile/appStarts/components/charts/countChart.tsx +++ b/static/app/views/insights/mobile/appStarts/components/charts/countChart.tsx @@ -83,7 +83,7 @@ export function CountChart({chartHeight}: Props) { query, primaryRelease, secondaryRelease - )} span.description:["Cold Start","Warm Start"]`; + )} span.description:["Cold Start","Warm Start","Cold App Start","Warm App Start"]`; const {data: series, isPending: isSeriesLoading} = useEventsStatsQuery({ eventView: EventView.fromNewQueryWithPageFilters( diff --git a/static/app/views/insights/mobile/appStarts/components/eventSamples.tsx b/static/app/views/insights/mobile/appStarts/components/eventSamples.tsx index 6114c113105803..49946aa6d94f93 100644 --- a/static/app/views/insights/mobile/appStarts/components/eventSamples.tsx +++ b/static/app/views/insights/mobile/appStarts/components/eventSamples.tsx @@ -14,7 +14,6 @@ import { } from 'sentry/views/insights/common/components/releaseSelector'; import {useReleaseSelection} from 'sentry/views/insights/common/queries/useReleases'; import {COLD_START_TYPE} from 'sentry/views/insights/mobile/appStarts/components/startTypeSelector'; -import useCrossPlatformProject from 'sentry/views/insights/mobile/common/queries/useCrossPlatformProject'; import {EventSamplesTable} from 'sentry/views/insights/mobile/screenload/components/tables/eventSamplesTable'; import {useTableQuery} from 'sentry/views/insights/mobile/screenload/components/tables/screensTable'; import {SpanMetricsField} from 'sentry/views/insights/types'; @@ -46,8 +45,6 @@ export function EventSamples({ const {primaryRelease} = useReleaseSelection(); const cursor = decodeScalar(location.query?.[cursorName]); - const {isProjectCrossPlatform, selectedPlatform} = useCrossPlatformProject(); - const deviceClass = decodeScalar(location.query[SpanMetricsField.DEVICE_CLASS]) ?? ''; const startType = decodeScalar(location.query[SpanMetricsField.APP_START_TYPE]) ?? COLD_START_TYPE; @@ -55,26 +52,15 @@ export function EventSamples({ const searchQuery = new MutableSearch([ `transaction:${transaction}`, `release:${release}`, - startType - ? `${SpanMetricsField.SPAN_OP}:${ - startType === COLD_START_TYPE ? 'app.start.cold' : 'app.start.warm' - }` - : 'span.op:[app.start.cold,app.start.warm]', - '(', - 'span.description:"Cold Start"', - 'OR', - 'span.description:"Warm Start"', - ')', + ...(startType ? [`${SpanMetricsField.APP_START_TYPE}:${startType}`] : []), ...(deviceClass ? [`${SpanMetricsField.DEVICE_CLASS}:${deviceClass}`] : []), - // TODO: Add this back in once we have the ability to filter by start type - // `${SpanMetricsField.APP_START_TYPE}:${ - // startType || `[${COLD_START_TYPE},${WARM_START_TYPE}]` - // }`, ]); - if (isProjectCrossPlatform) { - searchQuery.addFilterValue('os.name', selectedPlatform); - } + // TODO: Add this back in once os.name is available in the spansIndexed dataset + // const {isProjectCrossPlatform, selectedPlatform} = useCrossPlatformProject(); + // if (isProjectCrossPlatform) { + // searchQuery.addFilterValue('os.name', selectedPlatform); + // } const sort = decodeSorts(location.query[sortKey])[0] ?? DEFAULT_SORT; diff --git a/static/app/views/insights/mobile/appStarts/components/spanOpSelector.tsx b/static/app/views/insights/mobile/appStarts/components/spanOpSelector.tsx index 08c3dd7c4afbed..82920d2de2df15 100644 --- a/static/app/views/insights/mobile/appStarts/components/spanOpSelector.tsx +++ b/static/app/views/insights/mobile/appStarts/components/spanOpSelector.tsx @@ -49,6 +49,8 @@ export function SpanOpSelector({transaction, primaryRelease, secondaryRelease}: // Exclude root level spans because they're comprised of nested operations '!span.description:"Cold Start"', '!span.description:"Warm Start"', + '!span.description:"Cold App Start"', + '!span.description:"Warm App Start"', // Exclude this span because we can get TTID contributing spans instead '!span.description:"Initial Frame Render"', 'has:span.description', diff --git a/static/app/views/insights/mobile/appStarts/components/startDurationWidget.tsx b/static/app/views/insights/mobile/appStarts/components/startDurationWidget.tsx index 96341430684134..db246d4acc6022 100644 --- a/static/app/views/insights/mobile/appStarts/components/startDurationWidget.tsx +++ b/static/app/views/insights/mobile/appStarts/components/startDurationWidget.tsx @@ -27,8 +27,14 @@ import {COLD_START_TYPE} from 'sentry/views/insights/mobile/appStarts/components import useCrossPlatformProject from 'sentry/views/insights/mobile/common/queries/useCrossPlatformProject'; import {SpanMetricsField} from 'sentry/views/insights/types'; -const COLD_START_CONDITIONS = ['span.op:app.start.cold', 'span.description:"Cold Start"']; -const WARM_START_CONDITIONS = ['span.op:app.start.warm', 'span.description:"Warm Start"']; +const COLD_START_CONDITIONS = [ + 'span.op:app.start.cold', + 'span.description:["Cold Start","Cold App Start"]', +]; +const WARM_START_CONDITIONS = [ + 'span.op:app.start.warm', + 'span.description:["Warm Start","Warm App Start"]', +]; export function transformData(data?: MultiSeriesEventsStats, primaryRelease?: string) { const transformedSeries: {[releaseName: string]: Series} = {}; diff --git a/static/app/views/insights/mobile/appStarts/components/systemApplicationBreakdown.tsx b/static/app/views/insights/mobile/appStarts/components/systemApplicationBreakdown.tsx index 6ce17896060735..b3c12af3b502fd 100644 --- a/static/app/views/insights/mobile/appStarts/components/systemApplicationBreakdown.tsx +++ b/static/app/views/insights/mobile/appStarts/components/systemApplicationBreakdown.tsx @@ -78,6 +78,8 @@ function SystemApplicationBreakdown({additionalFilters}: any) { 'span.op:[app.start.warm,app.start.cold,contentprovider.load,application.load,activity.load]', '!span.description:"Cold Start"', '!span.description:"Warm Start"', + '!span.description:"Cold App Start"', + '!span.description:"Warm App Start"', ...(additionalFilters ?? []), ]); diff --git a/static/app/views/insights/mobile/appStarts/components/tables/spanOperationTable.tsx b/static/app/views/insights/mobile/appStarts/components/tables/spanOperationTable.tsx index 246ad0443aef95..79dc193b984c8e 100644 --- a/static/app/views/insights/mobile/appStarts/components/tables/spanOperationTable.tsx +++ b/static/app/views/insights/mobile/appStarts/components/tables/spanOperationTable.tsx @@ -90,6 +90,8 @@ export function SpanOperationTable({ // Exclude root level spans because they're comprised of nested operations '!span.description:"Cold Start"', '!span.description:"Warm Start"', + '!span.description:"Cold App Start"', + '!span.description:"Warm App Start"', // Exclude this span because we can get TTID contributing spans instead '!span.description:"Initial Frame Render"', 'has:span.description', diff --git a/static/app/views/insights/mobile/appStarts/views/screenSummaryPage.tsx b/static/app/views/insights/mobile/appStarts/views/screenSummaryPage.tsx index 53f9fdc2c052b8..a29d23fa72ef15 100644 --- a/static/app/views/insights/mobile/appStarts/views/screenSummaryPage.tsx +++ b/static/app/views/insights/mobile/appStarts/views/screenSummaryPage.tsx @@ -149,9 +149,9 @@ export function ScreenSummaryContentPage() { `transaction:${transactionName}`, `span.op:app.start.${appStartType}`, '(', - 'span.description:"Cold Start"', + 'span.description:["Cold Start","Cold App Start"]', 'OR', - 'span.description:"Warm Start"', + 'span.description:["Warm Start","Warm App Start"]', ')', ]} fields={[