From 2a3fb8fe6d8a89e55564b74d14e0dbb024ddadc9 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Tue, 11 Nov 2025 11:41:06 -0800 Subject: [PATCH 1/7] Frontend to show watch app size metrics --- .../sidebar/buildDetailsSidebarAppInfo.tsx | 106 ++++++++++++++---- .../views/preprod/types/buildDetailsTypes.ts | 20 +++- 2 files changed, 102 insertions(+), 24 deletions(-) diff --git a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx index 762b76b3177d76..4a5e2580d8a09b 100644 --- a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx +++ b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx @@ -2,7 +2,7 @@ import styled from '@emotion/styled'; import {PlatformIcon} from 'platformicons'; import {CodeBlock} from '@sentry/scraps/code'; -import {Flex} from '@sentry/scraps/layout'; +import {Flex, Stack} from '@sentry/scraps/layout'; import {Heading, Text} from '@sentry/scraps/text'; import {Tooltip} from '@sentry/scraps/tooltip'; @@ -12,8 +12,10 @@ import {t} from 'sentry/locale'; import {formatBytesBase10} from 'sentry/utils/bytes/formatBytesBase10'; import {getFormat, getFormattedDate, getUtcToSystem} from 'sentry/utils/dates'; import {openInstallModal} from 'sentry/views/preprod/components/installModal'; +import {MetricsArtifactType} from 'sentry/views/preprod/types/appSizeTypes'; import { BuildDetailsSizeAnalysisState, + getPrimarySizeMetric, type BuildDetailsAppInfo, type BuildDetailsSizeInfo, } from 'sentry/views/preprod/types/buildDetailsTypes'; @@ -40,6 +42,86 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp timeZone: true, }); + let sizeInfoGroup = null; + if ( + props.sizeInfo && + props.sizeInfo.state === BuildDetailsSizeAnalysisState.COMPLETED + ) { + const primarySizeMetric = getPrimarySizeMetric(props.sizeInfo); + const watchAppMetrics = props.sizeInfo.size_metrics.find( + metric => metric.metrics_artifact_type === MetricsArtifactType.WATCH_ARTIFACT + ); + + let installSizeContent = ( + + {formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)} + + ); + let downloadSizeContent = ( + + {formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)} + + ); + if (watchAppMetrics) { + installSizeContent = ( + + + {t('App')}: {formatBytesBase10(watchAppMetrics.install_size_bytes)} + + + {t('Watch app')}: {formatBytesBase10(watchAppMetrics.install_size_bytes)} + + + } + position="left" + > + + {formatBytesBase10(watchAppMetrics.install_size_bytes)} + + + ); + downloadSizeContent = ( + + + {t('App')}:{' '} + {formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)} + + + {t('Watch app')}: {formatBytesBase10(watchAppMetrics.download_size_bytes)} + + + } + position="left" + > + + {formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)} + + + ); + } + + sizeInfoGroup = ( + + + + {labels.installSizeLabel} + + {installSizeContent} + + + + {labels.downloadSizeLabel} + + {downloadSizeContent} + + + ); + } + return ( @@ -49,27 +131,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp {props.appInfo.name && {props.appInfo.name}} - {props.sizeInfo && - props.sizeInfo.state === BuildDetailsSizeAnalysisState.COMPLETED && ( - - - - {labels.installSizeLabel} - - - {formatBytesBase10(props.sizeInfo.install_size_bytes)} - - - - - {labels.downloadSizeLabel} - - - {formatBytesBase10(props.sizeInfo.download_size_bytes)} - - - - )} + {sizeInfoGroup} diff --git a/static/app/views/preprod/types/buildDetailsTypes.ts b/static/app/views/preprod/types/buildDetailsTypes.ts index 41cdccea695152..45cf116195847b 100644 --- a/static/app/views/preprod/types/buildDetailsTypes.ts +++ b/static/app/views/preprod/types/buildDetailsTypes.ts @@ -1,3 +1,6 @@ +/* eslint-disable typescript-sort-keys/interface */ +import {MetricsArtifactType} from 'sentry/views/preprod/types/appSizeTypes'; + import type {Platform} from './sharedTypes'; export interface BuildDetailsApiResponse { @@ -42,6 +45,12 @@ export interface BuildDetailsVcsInfo { provider?: string | null; } +interface BuildDetailsSizeInfoSizeMetric { + metrics_artifact_type: MetricsArtifactType; + install_size_bytes: number; + download_size_bytes: number; +} + interface BuildDetailsSizeInfoPending { state: BuildDetailsSizeAnalysisState.PENDING; } @@ -51,9 +60,8 @@ interface BuildDetailsSizeInfoProcessing { } interface BuildDetailsSizeInfoCompleted { - download_size_bytes: number; - install_size_bytes: number; state: BuildDetailsSizeAnalysisState.COMPLETED; + size_metrics: BuildDetailsSizeInfoSizeMetric[]; } interface BuildDetailsSizeInfoFailed { @@ -83,6 +91,14 @@ export function isSizeInfoProcessing( ); } +export function getPrimarySizeMetric( + sizeInfo: BuildDetailsSizeInfoCompleted +): BuildDetailsSizeInfoSizeMetric | undefined { + return sizeInfo.size_metrics.find( + metric => metric.metrics_artifact_type === MetricsArtifactType.MAIN_ARTIFACT + ); +} + export enum BuildDetailsState { UPLOADING = 0, UPLOADED = 1, From 091ff0c18db05fd6386e5e6b938d9b6a41d701dd Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Tue, 11 Nov 2025 15:32:36 -0800 Subject: [PATCH 2/7] Styling --- .../sidebar/buildDetailsSidebarAppInfo.tsx | 51 +++++++++++++------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx index 4a5e2580d8a09b..0f4ed764cbf777 100644 --- a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx +++ b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx @@ -66,33 +66,52 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp installSizeContent = ( - - {t('App')}: {formatBytesBase10(watchAppMetrics.install_size_bytes)} - - - {t('Watch app')}: {formatBytesBase10(watchAppMetrics.install_size_bytes)} - + + + + {t('App')}: + + + {formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)} + + + + + {t('Watch app')}: + + + {formatBytesBase10(watchAppMetrics.install_size_bytes)} + + } position="left" > - {formatBytesBase10(watchAppMetrics.install_size_bytes)} + {formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)} ); downloadSizeContent = ( - - {t('App')}:{' '} - {formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)} - - - {t('Watch app')}: {formatBytesBase10(watchAppMetrics.download_size_bytes)} - + + + + {t('App')}: + + + {formatBytesBase10(watchAppMetrics.download_size_bytes)} + + + + + {t('Watch app')}: + + + {formatBytesBase10(watchAppMetrics.download_size_bytes)} + + } position="left" From af8824416f8849c095265194d0e6f1dc62f18458 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Tue, 11 Nov 2025 15:36:14 -0800 Subject: [PATCH 3/7] Copy --- .../buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx index 0f4ed764cbf777..80accace29b6c8 100644 --- a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx +++ b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx @@ -77,7 +77,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp - {t('Watch app')}: + {t('Watch')}: {formatBytesBase10(watchAppMetrics.install_size_bytes)} @@ -106,7 +106,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp - {t('Watch app')}: + {t('Watch')}: {formatBytesBase10(watchAppMetrics.download_size_bytes)} From 673bfb9f3a54e7e7b7ee7815b290691e648c4cbf Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Tue, 11 Nov 2025 15:37:50 -0800 Subject: [PATCH 4/7] Fix --- static/app/views/preprod/utils/labelUtils.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/static/app/views/preprod/utils/labelUtils.tsx b/static/app/views/preprod/utils/labelUtils.tsx index c6153e1a511bb0..2e62893c7f77ee 100644 --- a/static/app/views/preprod/utils/labelUtils.tsx +++ b/static/app/views/preprod/utils/labelUtils.tsx @@ -3,6 +3,7 @@ import {formatBytesBase10} from 'sentry/utils/bytes/formatBytesBase10'; import {unreachable} from 'sentry/utils/unreachable'; import { BuildDetailsArtifactType, + getPrimarySizeMetric, isSizeInfoCompleted, type BuildDetailsApiResponse, } from 'sentry/views/preprod/types/buildDetailsTypes'; @@ -116,14 +117,16 @@ export function getReadablePlatformLabel(platform: Platform): string { export function formattedInstallSize(build: BuildDetailsApiResponse): string { if (isSizeInfoCompleted(build?.size_info)) { - return formatBytesBase10(build.size_info.install_size_bytes); + const primarySizeMetric = getPrimarySizeMetric(build.size_info); + return formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0); } return '-'; } export function formattedDownloadSize(build: BuildDetailsApiResponse): string { if (isSizeInfoCompleted(build?.size_info)) { - return formatBytesBase10(build.size_info.download_size_bytes); + const primarySizeMetric = getPrimarySizeMetric(build.size_info); + return formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0); } return '-'; } From 5f357f2ed5f9da0f066b5f63851c000672228cdc Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Tue, 11 Nov 2025 16:05:19 -0800 Subject: [PATCH 5/7] Fix --- .../main/sizeCompareSelectionContent.tsx | 13 +++++++-- .../buildDetails/buildDetails.spec.tsx | 28 +++++++++++++++---- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx b/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx index 233c4ffc42775e..bd13b5dd69fe1e 100644 --- a/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx +++ b/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx @@ -35,6 +35,7 @@ import useOrganization from 'sentry/utils/useOrganization'; import {useParams} from 'sentry/utils/useParams'; import { BuildDetailsState, + getPrimarySizeMetric, isSizeInfoCompleted, type BuildDetailsApiResponse, } from 'sentry/views/preprod/types/buildDetailsTypes'; @@ -249,13 +250,21 @@ function BuildItem({build, isSelected, onSelect}: BuildItemProps) { {isSizeInfoCompleted(sizeInfo) && ( - {formatBytesBase10(sizeInfo.install_size_bytes)} + + {formatBytesBase10( + getPrimarySizeMetric(sizeInfo)?.install_size_bytes ?? 0 + )} + )} {isSizeInfoCompleted(sizeInfo) && ( - {formatBytesBase10(sizeInfo.download_size_bytes)} + + {formatBytesBase10( + getPrimarySizeMetric(sizeInfo)?.download_size_bytes ?? 0 + )} + )} diff --git a/static/app/views/preprod/buildDetails/buildDetails.spec.tsx b/static/app/views/preprod/buildDetails/buildDetails.spec.tsx index b50f4258e449a3..d6746315ea1b8c 100644 --- a/static/app/views/preprod/buildDetails/buildDetails.spec.tsx +++ b/static/app/views/preprod/buildDetails/buildDetails.spec.tsx @@ -6,6 +6,7 @@ import { import {render, screen, waitFor} from 'sentry-test/reactTestingLibrary'; +import {MetricsArtifactType} from 'sentry/views/preprod/types/appSizeTypes'; import {BuildDetailsSizeAnalysisState} from 'sentry/views/preprod/types/buildDetailsTypes'; import BuildDetails from './buildDetails'; @@ -98,8 +99,13 @@ describe('BuildDetails', () => { body: PreprodBuildDetailsWithSizeInfoFixture( { state: BuildDetailsSizeAnalysisState.COMPLETED, - install_size_bytes: 1024000, - download_size_bytes: 512000, + size_metrics: [ + { + metrics_artifact_type: MetricsArtifactType.MAIN_ARTIFACT, + install_size_bytes: 1024000, + download_size_bytes: 512000, + }, + ], }, { vcs_info: PreprodVcsInfoFullFixture(), @@ -168,8 +174,13 @@ describe('BuildDetails', () => { } return PreprodBuildDetailsWithSizeInfoFixture({ state: BuildDetailsSizeAnalysisState.COMPLETED, - install_size_bytes: 1024000, - download_size_bytes: 512000, + size_metrics: [ + { + metrics_artifact_type: MetricsArtifactType.MAIN_ARTIFACT, + install_size_bytes: 1024000, + download_size_bytes: 512000, + }, + ], }); }, }); @@ -215,8 +226,13 @@ describe('BuildDetails', () => { method: 'GET', body: PreprodBuildDetailsWithSizeInfoFixture({ state: BuildDetailsSizeAnalysisState.COMPLETED, - install_size_bytes: 1024000, - download_size_bytes: 512000, + size_metrics: [ + { + metrics_artifact_type: MetricsArtifactType.MAIN_ARTIFACT, + install_size_bytes: 1024000, + download_size_bytes: 512000, + }, + ], }), }); From b8e4c539a4ae6d9bf9dbacf42e4ddb1f060da499 Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Wed, 12 Nov 2025 09:11:18 -0800 Subject: [PATCH 6/7] Cleanups --- .../main/sizeCompareSelectionContent.tsx | 18 ++++------- .../sidebar/buildDetailsSidebarAppInfo.tsx | 18 +++++------ .../views/preprod/types/buildDetailsTypes.ts | 2 +- static/app/views/preprod/utils/labelUtils.tsx | 32 +++++++++++++------ 4 files changed, 37 insertions(+), 33 deletions(-) diff --git a/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx b/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx index bd13b5dd69fe1e..afcc6a8eed719a 100644 --- a/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx +++ b/static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx @@ -23,7 +23,6 @@ import { } from 'sentry/icons'; import {IconBranch} from 'sentry/icons/iconBranch'; import {t} from 'sentry/locale'; -import {formatBytesBase10} from 'sentry/utils/bytes/formatBytesBase10'; import parseLinkHeader from 'sentry/utils/parseLinkHeader'; import {useApiQuery, useMutation, type UseApiQueryResult} from 'sentry/utils/queryClient'; import {decodeScalar} from 'sentry/utils/queryString'; @@ -35,11 +34,14 @@ import useOrganization from 'sentry/utils/useOrganization'; import {useParams} from 'sentry/utils/useParams'; import { BuildDetailsState, - getPrimarySizeMetric, isSizeInfoCompleted, type BuildDetailsApiResponse, } from 'sentry/views/preprod/types/buildDetailsTypes'; import type {ListBuildsApiResponse} from 'sentry/views/preprod/types/listBuildsTypes'; +import { + formattedPrimaryMetricDownloadSize, + formattedPrimaryMetricInstallSize, +} from 'sentry/views/preprod/utils/labelUtils'; import {SizeCompareSelectedBuilds} from './sizeCompareSelectedBuilds'; @@ -250,21 +252,13 @@ function BuildItem({build, isSelected, onSelect}: BuildItemProps) { {isSizeInfoCompleted(sizeInfo) && ( - - {formatBytesBase10( - getPrimarySizeMetric(sizeInfo)?.install_size_bytes ?? 0 - )} - + {formattedPrimaryMetricInstallSize(sizeInfo)} )} {isSizeInfoCompleted(sizeInfo) && ( - - {formatBytesBase10( - getPrimarySizeMetric(sizeInfo)?.download_size_bytes ?? 0 - )} - + {formattedPrimaryMetricDownloadSize(sizeInfo)} )} diff --git a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx index 80accace29b6c8..aa3ff6e65e9c8d 100644 --- a/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx +++ b/static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx @@ -15,11 +15,13 @@ import {openInstallModal} from 'sentry/views/preprod/components/installModal'; import {MetricsArtifactType} from 'sentry/views/preprod/types/appSizeTypes'; import { BuildDetailsSizeAnalysisState, - getPrimarySizeMetric, + getMainArtifactSizeMetric, type BuildDetailsAppInfo, type BuildDetailsSizeInfo, } from 'sentry/views/preprod/types/buildDetailsTypes'; import { + formattedPrimaryMetricDownloadSize, + formattedPrimaryMetricInstallSize, getLabels, getPlatformIconFromPlatform, getReadableArtifactTypeLabel, @@ -47,20 +49,16 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp props.sizeInfo && props.sizeInfo.state === BuildDetailsSizeAnalysisState.COMPLETED ) { - const primarySizeMetric = getPrimarySizeMetric(props.sizeInfo); + const primarySizeMetric = getMainArtifactSizeMetric(props.sizeInfo); const watchAppMetrics = props.sizeInfo.size_metrics.find( metric => metric.metrics_artifact_type === MetricsArtifactType.WATCH_ARTIFACT ); let installSizeContent = ( - - {formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)} - + {formattedPrimaryMetricInstallSize(props.sizeInfo)} ); let downloadSizeContent = ( - - {formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)} - + {formattedPrimaryMetricDownloadSize(props.sizeInfo)} ); if (watchAppMetrics) { installSizeContent = ( @@ -88,7 +86,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp position="left" > - {formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)} + {formattedPrimaryMetricInstallSize(props.sizeInfo)} ); @@ -117,7 +115,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp position="left" > - {formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)} + {formattedPrimaryMetricDownloadSize(props.sizeInfo)} ); diff --git a/static/app/views/preprod/types/buildDetailsTypes.ts b/static/app/views/preprod/types/buildDetailsTypes.ts index 45cf116195847b..9ded2c20700f2e 100644 --- a/static/app/views/preprod/types/buildDetailsTypes.ts +++ b/static/app/views/preprod/types/buildDetailsTypes.ts @@ -91,7 +91,7 @@ export function isSizeInfoProcessing( ); } -export function getPrimarySizeMetric( +export function getMainArtifactSizeMetric( sizeInfo: BuildDetailsSizeInfoCompleted ): BuildDetailsSizeInfoSizeMetric | undefined { return sizeInfo.size_metrics.find( diff --git a/static/app/views/preprod/utils/labelUtils.tsx b/static/app/views/preprod/utils/labelUtils.tsx index 2e62893c7f77ee..0c9dbe3bc4b232 100644 --- a/static/app/views/preprod/utils/labelUtils.tsx +++ b/static/app/views/preprod/utils/labelUtils.tsx @@ -3,9 +3,9 @@ import {formatBytesBase10} from 'sentry/utils/bytes/formatBytesBase10'; import {unreachable} from 'sentry/utils/unreachable'; import { BuildDetailsArtifactType, - getPrimarySizeMetric, + getMainArtifactSizeMetric, isSizeInfoCompleted, - type BuildDetailsApiResponse, + type BuildDetailsSizeInfo, } from 'sentry/views/preprod/types/buildDetailsTypes'; import type {Platform} from 'sentry/views/preprod/types/sharedTypes'; @@ -115,18 +115,30 @@ export function getReadablePlatformLabel(platform: Platform): string { } } -export function formattedInstallSize(build: BuildDetailsApiResponse): string { - if (isSizeInfoCompleted(build?.size_info)) { - const primarySizeMetric = getPrimarySizeMetric(build.size_info); - return formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0); +export function formattedPrimaryMetricInstallSize( + sizeInfo: BuildDetailsSizeInfo | undefined +): string { + if (isSizeInfoCompleted(sizeInfo)) { + const primarySizeMetric = getMainArtifactSizeMetric(sizeInfo); + if (!primarySizeMetric) { + return '-'; + } + + return formatBytesBase10(primarySizeMetric.install_size_bytes); } return '-'; } -export function formattedDownloadSize(build: BuildDetailsApiResponse): string { - if (isSizeInfoCompleted(build?.size_info)) { - const primarySizeMetric = getPrimarySizeMetric(build.size_info); - return formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0); +export function formattedPrimaryMetricDownloadSize( + sizeInfo: BuildDetailsSizeInfo | undefined +): string { + if (isSizeInfoCompleted(sizeInfo)) { + const primarySizeMetric = getMainArtifactSizeMetric(sizeInfo); + if (!primarySizeMetric) { + return '-'; + } + + return formatBytesBase10(primarySizeMetric.download_size_bytes); } return '-'; } From a2265a882b5aad4a2e88cf82a66b2515affed68a Mon Sep 17 00:00:00 2001 From: Ryan Brooks Date: Wed, 12 Nov 2025 09:27:03 -0800 Subject: [PATCH 7/7] mor --- static/app/components/preprod/preprodBuildsTable.tsx | 8 ++++---- .../header/buildCompareHeaderContent.tsx | 12 ++++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/static/app/components/preprod/preprodBuildsTable.tsx b/static/app/components/preprod/preprodBuildsTable.tsx index 59d7af5fbb3c6a..c7609d6e2b8e82 100644 --- a/static/app/components/preprod/preprodBuildsTable.tsx +++ b/static/app/components/preprod/preprodBuildsTable.tsx @@ -15,8 +15,8 @@ import {IconCheckmark, IconCommit} from 'sentry/icons'; import {t} from 'sentry/locale'; import type {BuildDetailsApiResponse} from 'sentry/views/preprod/types/buildDetailsTypes'; import { - formattedDownloadSize, - formattedInstallSize, + formattedPrimaryMetricDownloadSize, + formattedPrimaryMetricInstallSize, getLabels, getPlatformIconFromPlatform, } from 'sentry/views/preprod/utils/labelUtils'; @@ -137,11 +137,11 @@ export function PreprodBuildsTable({ - {formattedInstallSize(build)} + {formattedPrimaryMetricInstallSize(build.size_info)} - {formattedDownloadSize(build)} + {formattedPrimaryMetricDownloadSize(build.size_info)} diff --git a/static/app/views/preprod/buildComparison/header/buildCompareHeaderContent.tsx b/static/app/views/preprod/buildComparison/header/buildCompareHeaderContent.tsx index 2cdf444f03e0b2..16af33f26fca8f 100644 --- a/static/app/views/preprod/buildComparison/header/buildCompareHeaderContent.tsx +++ b/static/app/views/preprod/buildComparison/header/buildCompareHeaderContent.tsx @@ -18,8 +18,8 @@ import { type BuildDetailsApiResponse, } from 'sentry/views/preprod/types/buildDetailsTypes'; import { - formattedDownloadSize, - formattedInstallSize, + formattedPrimaryMetricDownloadSize, + formattedPrimaryMetricInstallSize, getLabels, getPlatformIconFromPlatform, getReadablePlatformLabel, @@ -100,7 +100,9 @@ export function BuildCompareHeaderContent(props: BuildCompareHeaderContentProps) - {formattedInstallSize(buildDetails)} + + {formattedPrimaryMetricInstallSize(buildDetails.size_info)} + )} @@ -108,7 +110,9 @@ export function BuildCompareHeaderContent(props: BuildCompareHeaderContentProps) - {formattedDownloadSize(buildDetails)} + + {formattedPrimaryMetricDownloadSize(buildDetails.size_info)} + )}