diff --git a/static/app/views/explore/hooks/useProgressiveQuery.tsx b/static/app/views/explore/hooks/useProgressiveQuery.tsx index 49285893b09d9f..08eccb2fbb504c 100644 --- a/static/app/views/explore/hooks/useProgressiveQuery.tsx +++ b/static/app/views/explore/hooks/useProgressiveQuery.tsx @@ -1,5 +1,4 @@ import type {CaseInsensitive} from 'sentry/components/searchQueryBuilder/hooks'; -import type {TraceMetric} from 'sentry/views/explore/metrics/metricQuery'; export const SAMPLING_MODE = { NORMAL: 'NORMAL', @@ -25,7 +24,6 @@ export type RPCQueryExtras = { caseInsensitive?: CaseInsensitive; disableAggregateExtrapolation?: string; samplingMode?: SamplingMode; - traceMetric?: TraceMetric; }; interface ProgressiveQueryOptions any> { diff --git a/static/app/views/explore/metrics/hooks/useMetricAggregatesTable.tsx b/static/app/views/explore/metrics/hooks/useMetricAggregatesTable.tsx index 0e4d5c27c00908..edcb9a04b84871 100644 --- a/static/app/views/explore/metrics/hooks/useMetricAggregatesTable.tsx +++ b/static/app/views/explore/metrics/hooks/useMetricAggregatesTable.tsx @@ -66,10 +66,7 @@ export function useMetricAggregatesTable({ enabled, limit, traceMetric, - queryExtras: { - ...queryExtras, - traceMetric, - }, + queryExtras, }, queryOptions: { canTriggerHighAccuracy, diff --git a/static/app/views/explore/metrics/hooks/useMetricSamplesTable.spec.tsx b/static/app/views/explore/metrics/hooks/useMetricSamplesTable.spec.tsx index 278e71f4f5116f..9a431f99822af8 100644 --- a/static/app/views/explore/metrics/hooks/useMetricSamplesTable.spec.tsx +++ b/static/app/views/explore/metrics/hooks/useMetricSamplesTable.spec.tsx @@ -129,7 +129,7 @@ describe('useMetricSamplesTable', () => { '/organizations/org-slug/events/', expect.objectContaining({ query: expect.objectContaining({ - query: '', + query: 'metric.name:test.metric metric.type:counter', caseInsensitive: undefined, dataset: 'tracemetrics', disableAggregateExtrapolation: undefined, @@ -150,8 +150,6 @@ describe('useMetricSamplesTable', () => { referrer: 'api.explore.metric-samples-table', sampling: SAMPLING_MODE.NORMAL, sort: '-timestamp', - metricName: 'test.metric', - metricType: 'counter', }), }) ); diff --git a/static/app/views/explore/metrics/hooks/useMetricSamplesTable.tsx b/static/app/views/explore/metrics/hooks/useMetricSamplesTable.tsx index 4a149172c137c2..f38fbf25f4449f 100644 --- a/static/app/views/explore/metrics/hooks/useMetricSamplesTable.tsx +++ b/static/app/views/explore/metrics/hooks/useMetricSamplesTable.tsx @@ -22,9 +22,12 @@ import { useMetricsFrozenSearch, useMetricsFrozenTracePeriod, } from 'sentry/views/explore/metrics/metricsFrozenContext'; -import {type TraceMetricEventsResponseItem} from 'sentry/views/explore/metrics/types'; import { - useQueryParamsQuery, + TraceMetricKnownFieldKey, + type TraceMetricEventsResponseItem, +} from 'sentry/views/explore/metrics/types'; +import { + useQueryParamsSearch, useQueryParamsSortBys, } from 'sentry/views/explore/queryParams/context'; import {getEventView} from 'sentry/views/insights/common/queries/useDiscover'; @@ -74,7 +77,7 @@ function useMetricsQueryKey({ traceMetric?: TraceMetric; }) { const organization = useOrganization(); - const query = useQueryParamsQuery(); + const userSearch = useQueryParamsSearch(); const frozenSearch = useMetricsFrozenSearch(); const frozenTracePeriod = useMetricsFrozenTracePeriod(); const sortBys = useQueryParamsSortBys(); @@ -86,20 +89,19 @@ function useMetricsQueryKey({ [fields] ); const queryString = useMemo(() => { - const queryStr = query; - const frozenSearchStr = frozenSearch?.formatString() ?? ''; - - const parts = [frozenSearchStr, queryStr].filter(Boolean); + const newSearch = userSearch.copy(); - if (parts.length === 0) { - return ''; + if (frozenSearch) { + newSearch.tokens.push(...frozenSearch.tokens); } - if (parts.length === 1) { - return parts[0]; + + if (traceMetric) { + newSearch.addFilterValue(TraceMetricKnownFieldKey.METRIC_NAME, traceMetric.name); + newSearch.addFilterValue(TraceMetricKnownFieldKey.METRIC_TYPE, traceMetric.type); } - return parts.join(' '); - }, [query, frozenSearch]); + return newSearch.formatString(); + }, [userSearch, frozenSearch, traceMetric]); const adjustedDatetime = useMemo(() => { const baseDatetime = frozenTracePeriod @@ -158,8 +160,6 @@ function useMetricsQueryKey({ orderby: orderby.length > 0 ? orderby : undefined, per_page: limit, referrer, - metricName: traceMetric?.name, - metricType: traceMetric?.type, sampling: queryExtras?.samplingMode ?? SAMPLING_MODE.NORMAL, caseInsensitive: queryExtras?.caseInsensitive, disableAggregateExtrapolation: queryExtras?.disableAggregateExtrapolation @@ -206,10 +206,7 @@ export function useMetricSamplesTable({ traceMetric, fields, ingestionDelaySeconds, - queryExtras: { - ...queryExtras, - traceMetric, - }, + queryExtras, }, queryOptions: { canTriggerHighAccuracy, diff --git a/static/app/views/explore/metrics/hooks/useMetricTimeseries.tsx b/static/app/views/explore/metrics/hooks/useMetricTimeseries.tsx index 40a805298f7576..1364adf866874a 100644 --- a/static/app/views/explore/metrics/hooks/useMetricTimeseries.tsx +++ b/static/app/views/explore/metrics/hooks/useMetricTimeseries.tsx @@ -67,7 +67,6 @@ function useMetricTimeseriesImpl({ topEvents, orderby: sortBys.map(formatSort), ...queryExtras, - traceMetric, }, 'api.explore.metrics-stats', DiscoverDatasets.TRACEMETRICS diff --git a/static/app/views/insights/common/queries/useSortedTimeSeries.tsx b/static/app/views/insights/common/queries/useSortedTimeSeries.tsx index 472704ef5587c4..d9658339340b28 100644 --- a/static/app/views/insights/common/queries/useSortedTimeSeries.tsx +++ b/static/app/views/insights/common/queries/useSortedTimeSeries.tsx @@ -39,7 +39,6 @@ import type { TimeSeriesItem, } from 'sentry/views/dashboards/widgets/common/types'; import type {SamplingMode} from 'sentry/views/explore/hooks/useProgressiveQuery'; -import type {TraceMetric} from 'sentry/views/explore/metrics/metricQuery'; import {FALLBACK_SERIES_NAME} from 'sentry/views/explore/settings'; import {getSeriesEventView} from 'sentry/views/insights/common/queries/getSeriesEventView'; import { @@ -64,7 +63,6 @@ interface Options { samplingMode?: SamplingMode; search?: MutableSearch; topEvents?: number; - traceMetric?: TraceMetric; yAxis?: Fields; } @@ -89,7 +87,6 @@ export const useSortedTimeSeries = < samplingMode, disableAggregateExtrapolation, caseInsensitive, - traceMetric, } = options; const pageFilters = usePageFilters(); @@ -166,8 +163,6 @@ export const useSortedTimeSeries = < // pagination does not cause extra requests cursor: undefined, caseInsensitive, - metricName: traceMetric?.name ? traceMetric.name : undefined, - metricType: traceMetric?.type ? traceMetric.type : undefined, }), options: { enabled: enabled && pageFilters.isReady, diff --git a/static/app/views/insights/common/queries/useSpansQuery.tsx b/static/app/views/insights/common/queries/useSpansQuery.tsx index 299e6740d4b823..b540e49a64b595 100644 --- a/static/app/views/insights/common/queries/useSpansQuery.tsx +++ b/static/app/views/insights/common/queries/useSpansQuery.tsx @@ -19,7 +19,6 @@ import type { RPCQueryExtras, SamplingMode, } from 'sentry/views/explore/hooks/useProgressiveQuery'; -import type {TraceMetric} from 'sentry/views/explore/metrics/metricQuery'; import { getRetryDelay, shouldRetryHandler, @@ -113,7 +112,6 @@ function useSpansQueryBase({ caseInsensitive: queryExtras?.caseInsensitive, samplingMode: queryExtras?.samplingMode, disableAggregateExtrapolation: queryExtras?.disableAggregateExtrapolation, - traceMetric: queryExtras?.traceMetric, }); if (trackResponseAnalytics) { @@ -245,7 +243,6 @@ type WrappedDiscoverQueryProps = { referrer?: string; refetchInterval?: number; samplingMode?: SamplingMode; - traceMetric?: TraceMetric; }; function useWrappedDiscoverQueryBase({ @@ -264,7 +261,6 @@ function useWrappedDiscoverQueryBase({ additionalQueryKey, refetchInterval, caseInsensitive, - traceMetric, }: WrappedDiscoverQueryProps & { pageFiltersReady: boolean; }) { @@ -294,11 +290,6 @@ function useWrappedDiscoverQueryBase({ queryExtras.allowAggregateConditions = allowAggregateConditions ? '1' : '0'; } - if (traceMetric?.name && traceMetric?.type) { - queryExtras.metricName = traceMetric.name; - queryExtras.metricType = traceMetric.type; - } - const result = useDiscoverQuery({ eventView, orgSlug: organization.slug,