Просмотр исходного кода

fix(insights): cache page doesn't load with long transactions (#75465)

Dominik Buszowiecki 7 месяцев назад
Родитель
Сommit
669a49ff97

+ 2 - 0
static/app/views/insights/cache/views/cacheLandingPage.spec.tsx

@@ -174,6 +174,7 @@ describe('CacheLandingPage', function () {
           environment: [],
           field: ['avg(transaction.duration)', 'transaction'],
           per_page: 50,
+          noPagination: true,
           project: [],
           query: 'transaction:["my-transaction"]',
           referrer: 'api.performance.cache.landing-cache-transaction-duration',
@@ -234,6 +235,7 @@ describe('CacheLandingPage', function () {
           dataset: 'metrics',
           environment: [],
           field: ['avg(transaction.duration)', 'transaction'],
+          noPagination: true,
           per_page: 50,
           project: [],
           query: 'transaction:["transaction with \\"quote\\""]',

+ 1 - 0
static/app/views/insights/cache/views/cacheLandingPage.tsx

@@ -133,6 +133,7 @@ export function CacheLandingPage() {
       search: `transaction:[${transactionsList.map(({transaction}) => `"${transaction.replaceAll('"', '\\"')}"`).join(',')}]`,
       fields: [`avg(transaction.duration)`, 'transaction'],
       enabled: !isTransactionsListFetching && transactionsList.length > 0,
+      noPagination: true,
     },
     Referrer.LANDING_CACHE_TRANSACTION_DURATION
   );

+ 3 - 0
static/app/views/insights/common/queries/useDiscover.ts

@@ -19,6 +19,7 @@ interface UseMetricsOptions<Fields> {
   enabled?: boolean;
   fields?: Fields;
   limit?: number;
+  noPagination?: boolean;
   pageFilters?: PageFilters;
   search?: MutableSearch | string; // TODO - ideally this probably would be only `Mutable Search`, but it doesn't handle some situations well
   sorts?: Sort[];
@@ -69,6 +70,7 @@ const useDiscover = <T extends Extract<keyof ResponseType, string>[], ResponseTy
     limit,
     cursor,
     pageFilters: pageFiltersFromOptions,
+    noPagination,
   } = options;
 
   const pageFilters = usePageFilters();
@@ -88,6 +90,7 @@ const useDiscover = <T extends Extract<keyof ResponseType, string>[], ResponseTy
     enabled: options.enabled,
     referrer,
     cursor,
+    noPagination,
   });
 
   // This type is a little awkward but it explicitly states that the response could be empty. This doesn't enable unchecked access errors, but it at least indicates that it's possible that there's no data

+ 3 - 0
static/app/views/insights/common/queries/useSpansQuery.tsx

@@ -133,12 +133,14 @@ export function useWrappedDiscoverQuery<T>({
   referrer,
   limit,
   cursor,
+  noPagination,
 }: {
   eventView: EventView;
   cursor?: string;
   enabled?: boolean;
   initialData?: T;
   limit?: number;
+  noPagination?: boolean;
   referrer?: string;
 }) {
   const location = useLocation();
@@ -158,6 +160,7 @@ export function useWrappedDiscoverQuery<T>({
       retryDelay: getRetryDelay,
       staleTime: Infinity,
     },
+    noPagination,
   });
 
   // TODO: useDiscoverQuery incorrectly states that it returns MetaType, but it