Browse Source

fix(ddm): bar chart granularity (#62377)

Ogi 1 year ago
parent
commit
e4de73d4be

+ 1 - 1
static/app/utils/metrics/index.tsx

@@ -220,7 +220,7 @@ export function getDDMInterval(
 ) {
   const diffInMinutes = getDiffInMinutes(datetimeObj);
 
-  if (diffInMinutes <= 60 && useCase === 'custom') {
+  if (diffInMinutes <= ONE_HOUR && useCase === 'custom' && fidelity === 'high') {
     return '10s';
   }
 

+ 16 - 3
static/app/views/dashboards/datasetConfig/metrics.tsx

@@ -259,7 +259,14 @@ function getMetricSeriesRequest(
   pageFilters: PageFilters
 ) {
   const query = widget.queries[queryIndex];
-  return getMetricRequest(api, query, organization, pageFilters, widget.limit);
+  return getMetricRequest(
+    api,
+    query,
+    organization,
+    pageFilters,
+    widget.limit,
+    widget.displayType
+  );
 }
 
 function handleMetricTableOrderByReset(widgetQuery: WidgetQuery, newFields: string[]) {
@@ -358,7 +365,8 @@ function getMetricRequest(
   query: WidgetQuery,
   organization: Organization,
   pageFilters: PageFilters,
-  limit?: number
+  limit?: number,
+  displayType?: DisplayType
 ): Promise<[MetricsApiResponse, string | undefined, ResponseMeta | undefined]> {
   if (!query.aggregates[0]) {
     // No aggregate selected, return empty response
@@ -376,6 +384,10 @@ function getMetricRequest(
   }
   const per_page = limit && Number(limit) >= 10 ? limit : 10;
 
+  const useNewMetricsLayer = organization.features.includes(
+    'metrics-api-new-metrics-layer'
+  );
+
   const requestData = getMetricsApiRequestQuery(
     {
       field: query.aggregates[0],
@@ -385,7 +397,8 @@ function getMetricRequest(
     pageFilters,
     {
       per_page,
-      useNewMetricsLayer: false,
+      useNewMetricsLayer,
+      fidelity: displayType === DisplayType.BAR ? 'low' : 'high',
     }
   );