Browse Source

feat(starfish): Updates the chart interval fidelity for all starfish charts to "metrics" (#52733)

Updates the chart interval fidelity for all starfish charts to "metrics"
edwardgou-sentry 1 year ago
parent
commit
ec9f5ca168

+ 2 - 1
static/app/views/starfish/queries/useSpanMetricsSeries.tsx

@@ -11,6 +11,7 @@ import usePageFilters from 'sentry/utils/usePageFilters';
 import type {IndexedSpan} from 'sentry/views/starfish/queries/types';
 import {SpanSummaryQueryFilters} from 'sentry/views/starfish/queries/useSpanMetrics';
 import {SpanMetricsFields} from 'sentry/views/starfish/types';
+import {STARFISH_CHART_INTERVAL_FIDELITY} from 'sentry/views/starfish/utils/constants';
 import {useSpansQuery} from 'sentry/views/starfish/utils/useSpansQuery';
 
 const {SPAN_GROUP} = SpanMetricsFields;
@@ -89,7 +90,7 @@ function getEventView(
       fields: [],
       yAxis,
       dataset: DiscoverDatasets.SPANS_METRICS,
-      interval: getInterval(pageFilters.datetime, 'low'),
+      interval: getInterval(pageFilters.datetime, STARFISH_CHART_INTERVAL_FIDELITY),
       version: 2,
     },
     location

+ 4 - 0
static/app/views/starfish/utils/constants.tsx

@@ -0,0 +1,4 @@
+// This constant is to be used as an arg for `getInterval`.
+// 'metrics' fidelity is intended to match the granularities of stored metrics.
+// This gives us the best/highest fidelity of data for minimum amount of work (don't need to merge buckets).
+export const STARFISH_CHART_INTERVAL_FIDELITY = 'metrics';

+ 5 - 1
static/app/views/starfish/views/spans/queries.tsx

@@ -6,6 +6,7 @@ import EventView from 'sentry/utils/discover/eventView';
 import {DiscoverDatasets} from 'sentry/utils/discover/types';
 import {useLocation} from 'sentry/utils/useLocation';
 import usePageFilters from 'sentry/utils/usePageFilters';
+import {STARFISH_CHART_INTERVAL_FIDELITY} from 'sentry/views/starfish/utils/constants';
 import {useSpansQuery} from 'sentry/views/starfish/utils/useSpansQuery';
 
 export const useErrorRateQuery = (queryString: string) => {
@@ -20,7 +21,10 @@ export const useErrorRateQuery = (queryString: string) => {
     version: 1,
     topEvents: '5',
     dataset: DiscoverDatasets.SPANS_METRICS,
-    interval: getInterval(pageFilter.selection.datetime, 'low'),
+    interval: getInterval(
+      pageFilter.selection.datetime,
+      STARFISH_CHART_INTERVAL_FIDELITY
+    ),
     yAxis: ['http_error_count()'],
   };
 

+ 2 - 1
static/app/views/starfish/views/spans/spanTimeCharts.tsx

@@ -14,6 +14,7 @@ import Chart, {useSynchronizeCharts} from 'sentry/views/starfish/components/char
 import ChartPanel from 'sentry/views/starfish/components/chartPanel';
 import {ModuleName, SpanMetricsFields} from 'sentry/views/starfish/types';
 import formatThroughput from 'sentry/views/starfish/utils/chartValueFormatters/formatThroughput';
+import {STARFISH_CHART_INTERVAL_FIDELITY} from 'sentry/views/starfish/utils/constants';
 import {useChartSortPageBySpansHandler} from 'sentry/views/starfish/utils/useChartSortPageBySpansHandler';
 import {useSpansQuery} from 'sentry/views/starfish/utils/useSpansQuery';
 import {useErrorRateQuery as useErrorCountQuery} from 'sentry/views/starfish/views/spans/queries';
@@ -251,7 +252,7 @@ const getEventView = (
       yAxis: ['sps()', `p50(${SPAN_SELF_TIME})`, `p95(${SPAN_SELF_TIME})`],
       query,
       dataset: DiscoverDatasets.SPANS_METRICS,
-      interval: getInterval(pageFilters.datetime, 'metrics'),
+      interval: getInterval(pageFilters.datetime, STARFISH_CHART_INTERVAL_FIDELITY),
       version: 2,
     },
     location

+ 5 - 1
static/app/views/starfish/views/webServiceView/endpointOverview/index.tsx

@@ -35,6 +35,7 @@ import StarfishDatePicker from 'sentry/views/starfish/components/datePicker';
 import {TransactionSamplesTable} from 'sentry/views/starfish/components/samplesTable/transactionSamplesTable';
 import {ModuleName} from 'sentry/views/starfish/types';
 import formatThroughput from 'sentry/views/starfish/utils/chartValueFormatters/formatThroughput';
+import {STARFISH_CHART_INTERVAL_FIDELITY} from 'sentry/views/starfish/utils/constants';
 import {getDateConditions} from 'sentry/views/starfish/utils/getDateConditions';
 import SpansTable from 'sentry/views/starfish/views/spans/spansTable';
 import {DataTitles} from 'sentry/views/starfish/views/spans/types';
@@ -111,7 +112,10 @@ export default function EndpointOverview() {
         includePrevious={false}
         partial
         limit={5}
-        interval={getInterval(pageFilter.selection.datetime, 'low')}
+        interval={getInterval(
+          pageFilter.selection.datetime,
+          STARFISH_CHART_INTERVAL_FIDELITY
+        )}
         includeTransformedData
         environment={eventView.environment}
         project={eventView.project}

+ 4 - 1
static/app/views/starfish/views/webServiceView/spanGroupBreakdownContainer.tsx

@@ -18,6 +18,7 @@ import {useLocation} from 'sentry/utils/useLocation';
 import useOrganization from 'sentry/utils/useOrganization';
 import usePageFilters from 'sentry/utils/usePageFilters';
 import {SpanMetricsFields} from 'sentry/views/starfish/types';
+import {STARFISH_CHART_INTERVAL_FIDELITY} from 'sentry/views/starfish/utils/constants';
 import {useEventsStatsQuery} from 'sentry/views/starfish/utils/useEventsStatsQuery';
 import {SpanGroupBreakdown} from 'sentry/views/starfish/views/webServiceView/spanGroupBreakdown';
 
@@ -221,7 +222,9 @@ const getEventView = (
       orderby: '-sum_span_self_time',
       version: 2,
       topEvents: groups.length > 0 ? '4' : undefined,
-      interval: getTimeseries ? getInterval(pageFilters.datetime, 'low') : undefined,
+      interval: getTimeseries
+        ? getInterval(pageFilters.datetime, STARFISH_CHART_INTERVAL_FIDELITY)
+        : undefined,
     },
     location
   );

+ 5 - 1
static/app/views/starfish/views/webServiceView/starfishView.tsx

@@ -26,6 +26,7 @@ import {P95_COLOR, THROUGHPUT_COLOR} from 'sentry/views/starfish/colours';
 import Chart, {useSynchronizeCharts} from 'sentry/views/starfish/components/chart';
 import MiniChartPanel from 'sentry/views/starfish/components/miniChartPanel';
 import formatThroughput from 'sentry/views/starfish/utils/chartValueFormatters/formatThroughput';
+import {STARFISH_CHART_INTERVAL_FIDELITY} from 'sentry/views/starfish/utils/constants';
 import {DataTitles} from 'sentry/views/starfish/views/spans/types';
 import {SpanGroupBreakdownContainer} from 'sentry/views/starfish/views/webServiceView/spanGroupBreakdownContainer';
 
@@ -54,7 +55,10 @@ export function StarfishView(props: BasePerformanceViewProps) {
         query={query.formatString()}
         includePrevious={false}
         partial
-        interval={getInterval(pageFilter.selection.datetime, 'low')}
+        interval={getInterval(
+          pageFilter.selection.datetime,
+          STARFISH_CHART_INTERVAL_FIDELITY
+        )}
         includeTransformedData
         limit={1}
         environment={eventView.environment}