diff --git a/static/app/components/charts/heatMapChart.tsx b/static/app/components/charts/heatMapChart.tsx deleted file mode 100644 index a09c20e59dec..000000000000 --- a/static/app/components/charts/heatMapChart.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import type {HeatmapSeriesOption, VisualMapComponentOption} from 'echarts'; - -import type {Series} from 'sentry/types/echarts'; - -import {HeatMapSeries} from './series/heatMapSeries'; -import type {BaseChartProps} from './baseChart'; -import {BaseChart} from './baseChart'; - -interface HeatmapSeries - extends Series, Omit { - dataArray?: HeatmapSeriesOption['data']; -} - -interface HeatmapProps extends Omit { - series: HeatmapSeries[]; - visualMaps: VisualMapComponentOption[]; - seriesOptions?: HeatmapSeriesOption; -} - -export function HeatMapChart({ref, ...props}: HeatmapProps) { - const {series, seriesOptions, visualMaps, ...otherProps} = props; - return ( - - HeatMapSeries({ - ...seriesOptions, - ...options, - name: seriesName, - data: dataArray || data.map(({value, name}) => [name, value]), - }) - )} - /> - ); -} diff --git a/static/app/components/charts/series/heatMapSeries.tsx b/static/app/components/charts/series/heatMapSeries.tsx deleted file mode 100644 index 5db31294f8b5..000000000000 --- a/static/app/components/charts/series/heatMapSeries.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import 'echarts/lib/chart/heatmap'; - -import type {HeatmapSeriesOption} from 'echarts'; - -import type {SeriesDataUnit} from 'sentry/types/echarts'; - -export function HeatMapSeries( - props: Omit & { - data?: SeriesDataUnit[] | HeatmapSeriesOption['data']; - } = {} -): HeatmapSeriesOption { - const {data, ...rest} = props; - return { - data: data as HeatmapSeriesOption['data'], - ...rest, - type: 'heatmap', - }; -} diff --git a/static/app/router/routes.tsx b/static/app/router/routes.tsx index 0cdd2bd04c5c..fd66c268e96e 100644 --- a/static/app/router/routes.tsx +++ b/static/app/router/routes.tsx @@ -1774,13 +1774,6 @@ function buildRoutes(): RouteObject[] { import('sentry/views/performance/transactionSummary/transactionReplays') ), }, - { - path: 'tags/', - handle: {tab: TransactionSummaryTab.TAGS}, - component: make( - () => import('sentry/views/performance/transactionSummary/transactionTags') - ), - }, { path: 'events/', handle: {tab: TransactionSummaryTab.EVENTS}, diff --git a/static/app/utils/analytics/performanceAnalyticsEvents.tsx b/static/app/utils/analytics/performanceAnalyticsEvents.tsx index 9349574b90c4..f77a4ab6228e 100644 --- a/static/app/utils/analytics/performanceAnalyticsEvents.tsx +++ b/static/app/utils/analytics/performanceAnalyticsEvents.tsx @@ -149,17 +149,6 @@ export type PerformanceEventParameters = { }; 'performance_views.summary.tag_explorer.visit_tag_key': Record; 'performance_views.summary.view_in_transaction_events': Record; - 'performance_views.tags.change_aggregate_column': { - value: string; - }; - 'performance_views.tags.change_tag': { - from_tag: string; - is_other_tag: boolean; - to_tag: string; - }; - 'performance_views.tags.interaction': Record; - 'performance_views.tags.jump_to_release': Record; - 'performance_views.tags.tags_tab_clicked': PageLayoutParams; 'performance_views.team_key_transaction.set': { action: string; }; @@ -295,12 +284,6 @@ export const performanceEventMap: Record = { 'Performance Views: Transaction Summary status breakdown option clicked', 'performance_views.all_events.open_in_discover': 'Performance Views: All Events page open in Discover button clicked', - 'performance_views.tags.change_aggregate_column': - 'Performance Views: Tags page changed aggregate column', - 'performance_views.tags.change_tag': - 'Performance Views: Tags Page changed selected tag', - 'performance_views.tags.jump_to_release': - 'Performance Views: Tags Page link to release in table clicked', 'performance_views.team_key_transaction.set': 'Performance Views: Set Team Key Transaction', 'performance_views.trends.widget_interaction': @@ -324,14 +307,12 @@ export const performanceEventMap: Record = { 'Performance Views: Select Relative Breakdown', 'performance_views.mep.metrics_outcome': 'Performance Views: Metrics Outcome', 'performance_views.vitals.vitals_tab_clicked': 'Performance Views: Vitals tab clicked', - 'performance_views.tags.tags_tab_clicked': 'Performance Views: Tags tab clicked', 'performance_views.events.events_tab_clicked': 'Performance Views: Events tab clicked', 'performance_views.spans.spans_tab_clicked': 'Performance Views: Spans tab clicked', 'performance_views.summary.view_in_transaction_events': 'Performance Views: View in All Events from Transaction Summary', 'performance_views.summary.open_issues': 'Performance Views: Open issues from transaction summary', - 'performance_views.tags.interaction': 'Performance Views: Tag Page - Interaction', 'performance_views.vitals.filter_changed': 'Performance Views: Change vitals filter', 'performance_views.vitals.reset_view': 'Performance Views: Reset vitals view', 'performance_views.trends.change_parameter': 'Performance Views: Change Parameter', diff --git a/static/app/utils/performance/segmentExplorer/segmentExplorerQuery.tsx b/static/app/utils/performance/segmentExplorer/segmentExplorerQuery.tsx deleted file mode 100644 index 06a1307bf26f..000000000000 --- a/static/app/utils/performance/segmentExplorer/segmentExplorerQuery.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import type {EventQuery} from 'sentry/actionCreators/events'; -import type {LocationQuery} from 'sentry/utils/discover/eventView'; -import type {ColumnValueType} from 'sentry/utils/discover/fields'; -import type { - DiscoverQueryProps, - GenericChildrenProps, -} from 'sentry/utils/discover/genericDiscoverQuery'; -import {GenericDiscoverQuery} from 'sentry/utils/discover/genericDiscoverQuery'; - -/** - * An individual row in a Segment explorer result - */ -export type TableDataRow = { - aggregate: number; - comparison: number; - count: number; - frequency: number; - sumdelta: number; - tags_key: string; - tags_value: string; -}; - -export type TableData = { - data: TableDataRow[]; - meta: Record; -}; - -/** - * A Segment Explorer result including rows and metadata. - */ - -type ChildrenProps = Omit, 'tableData'> & { - tableData: TableData | null; -}; - -type QueryProps = DiscoverQueryProps & { - aggregateColumn: string; - children: (props: ChildrenProps) => React.ReactNode; - allTagKeys?: boolean; - sort?: string | string[]; - tagKey?: string; -}; - -type FacetQuery = LocationQuery & - EventQuery & { - aggregateColumn?: string; - allTagKeys?: boolean; - sort?: string | string[]; - tagKey?: string; - }; - -function getRequestFunction(_props: QueryProps) { - const {aggregateColumn} = _props; - function getTagExplorerRequestPayload(props: DiscoverQueryProps) { - const {eventView} = props; - const apiPayload: FacetQuery = eventView.getEventsAPIPayload(props.location); - apiPayload.aggregateColumn = aggregateColumn; - apiPayload.sort = _props.sort ? _props.sort : apiPayload.sort; - if (_props.allTagKeys) { - apiPayload.allTagKeys = _props.allTagKeys; - } - if (_props.tagKey) { - apiPayload.tagKey = _props.tagKey; - } - return apiPayload; - } - return getTagExplorerRequestPayload; -} - -function shouldRefetchData(prevProps: QueryProps, nextProps: QueryProps) { - return ( - prevProps.aggregateColumn !== nextProps.aggregateColumn || - prevProps.sort !== nextProps.sort || - prevProps.allTagKeys !== nextProps.allTagKeys || - prevProps.tagKey !== nextProps.tagKey - ); -} - -export function SegmentExplorerQuery(props: QueryProps) { - return ( - - route="events-facets-performance" - getRequestPayload={getRequestFunction(props)} - shouldRefetchData={shouldRefetchData} - {...props} - /> - ); -} diff --git a/static/app/utils/performance/segmentExplorer/tagKeyHistogramQuery.tsx b/static/app/utils/performance/segmentExplorer/tagKeyHistogramQuery.tsx deleted file mode 100644 index be4e2e932a1e..000000000000 --- a/static/app/utils/performance/segmentExplorer/tagKeyHistogramQuery.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import type {EventQuery} from 'sentry/actionCreators/events'; -import type {LocationQuery} from 'sentry/utils/discover/eventView'; -import type { - DiscoverQueryProps, - GenericChildrenProps, -} from 'sentry/utils/discover/genericDiscoverQuery'; -import {GenericDiscoverQuery} from 'sentry/utils/discover/genericDiscoverQuery'; - -/** - * An individual row in a Segment explorer result - */ -export type TableDataRow = { - [key: string]: string | number; - count: number; - tags_key: string; - tags_value: string; -}; - -type HistogramTag = { - tags_value: string; -}; - -export type TableData = { - histogram: {data: TableDataRow[]}; - meta: Record; - tags: {data: HistogramTag[]}; -}; - -/** - * A Segment Explorer result including rows and metadata. - */ - -type ChildrenProps = Omit, 'tableData'> & { - tableData: TableData | null; -}; - -type QueryProps = DiscoverQueryProps & { - aggregateColumn: string; - children: (props: ChildrenProps) => React.ReactNode; - numBucketsPerKey: number; - sort: string | string[]; - tagKey: string; -}; - -type FacetQuery = LocationQuery & - EventQuery & { - aggregateColumn?: string; - numBucketsPerKey?: number; - sort?: string | string[]; - tagKey?: string; - }; - -function getRequestFunction(_props: QueryProps) { - const {aggregateColumn} = _props; - function getTagExplorerRequestPayload(props: DiscoverQueryProps) { - const {eventView} = props; - const apiPayload: FacetQuery = eventView.getEventsAPIPayload(props.location); - apiPayload.aggregateColumn = aggregateColumn; - apiPayload.sort = _props.sort; - apiPayload.tagKey = _props.tagKey; - apiPayload.numBucketsPerKey = _props.numBucketsPerKey; - return apiPayload; - } - return getTagExplorerRequestPayload; -} - -function shouldRefetchData(prevProps: QueryProps, nextProps: QueryProps) { - return ( - prevProps.aggregateColumn !== nextProps.aggregateColumn || - prevProps.sort !== nextProps.sort || - prevProps.tagKey !== nextProps.tagKey - ); -} - -export function TagKeyHistogramQuery(props: QueryProps) { - return ( - - route="events-facets-performance-histogram" - getRequestPayload={getRequestFunction(props)} - shouldRefetchData={shouldRefetchData} - {...props} - /> - ); -} diff --git a/static/app/utils/performance/segmentExplorer/tagTransactionsQuery.tsx b/static/app/utils/performance/segmentExplorer/tagTransactionsQuery.tsx deleted file mode 100644 index 644376bc5100..000000000000 --- a/static/app/utils/performance/segmentExplorer/tagTransactionsQuery.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import type {MetaType} from 'sentry/utils/discover/eventView'; -import type { - DiscoverQueryProps, - GenericChildrenProps, -} from 'sentry/utils/discover/genericDiscoverQuery'; -import {GenericDiscoverQuery} from 'sentry/utils/discover/genericDiscoverQuery'; - -type TableDataRow = { - [key: string]: string | number; - id: string; -}; - -type TableData = { - data: TableDataRow[]; - meta?: MetaType; -}; - -type QueryProps = DiscoverQueryProps & { - children: (props: GenericChildrenProps) => React.ReactNode; - query: string; -}; - -function shouldRefetchData(prevProps: QueryProps, nextProps: QueryProps) { - return prevProps.query !== nextProps.query; -} - -export function TagTransactionsQuery(props: QueryProps) { - return ( - - route="events" - shouldRefetchData={shouldRefetchData} - {...props} - /> - ); -} diff --git a/static/app/views/performance/newTraceDetails/traceHeader/breadcrumbs.tsx b/static/app/views/performance/newTraceDetails/traceHeader/breadcrumbs.tsx index 2f37d02e6305..97d8f094d15f 100644 --- a/static/app/views/performance/newTraceDetails/traceHeader/breadcrumbs.tsx +++ b/static/app/views/performance/newTraceDetails/traceHeader/breadcrumbs.tsx @@ -130,17 +130,6 @@ function getPerformanceBreadCrumbs( ), }); break; - case Tab.TAGS: - crumbs.push({ - label: t('Tags'), - to: getBreadCrumbTarget( - normalizeUrl( - `/organizations/${organization.slug}/${transactionSummaryUrl}/tags` - ), - location.query - ), - }); - break; default: crumbs.push({ label: t('Transaction Summary'), diff --git a/static/app/views/performance/transactionSummary/filter.tsx b/static/app/views/performance/transactionSummary/filter.tsx index 68e2db0a4ff0..ba0f10b8361e 100644 --- a/static/app/views/performance/transactionSummary/filter.tsx +++ b/static/app/views/performance/transactionSummary/filter.tsx @@ -2,7 +2,6 @@ import type {Theme} from '@emotion/react'; import type {Location} from 'history'; import {pickBarColor} from 'sentry/components/performance/waterfall/utils'; -import {SpanOpBreakdown} from 'sentry/utils/fields'; import {decodeScalar} from 'sentry/utils/queryString'; import {decodeHistogramZoom} from './transactionOverview/latencyChart/utils'; @@ -17,16 +16,6 @@ export enum SpanOperationBreakdownFilter { UI = 'ui', } -export const SPAN_OPERATION_BREAKDOWN_FILTER_TO_FIELD: Partial< - Record -> = { - [SpanOperationBreakdownFilter.HTTP]: SpanOpBreakdown.SPANS_HTTP, - [SpanOperationBreakdownFilter.DB]: SpanOpBreakdown.SPANS_DB, - [SpanOperationBreakdownFilter.BROWSER]: SpanOpBreakdown.SPANS_BROWSER, - [SpanOperationBreakdownFilter.RESOURCE]: SpanOpBreakdown.SPANS_RESOURCE, - [SpanOperationBreakdownFilter.UI]: SpanOpBreakdown.SPANS_UI, -}; - export function filterToField(option: SpanOperationBreakdownFilter) { switch (option) { case SpanOperationBreakdownFilter.NONE: diff --git a/static/app/views/performance/transactionSummary/header.spec.tsx b/static/app/views/performance/transactionSummary/header.spec.tsx index 351765150e5c..231d6d62da31 100644 --- a/static/app/views/performance/transactionSummary/header.spec.tsx +++ b/static/app/views/performance/transactionSummary/header.spec.tsx @@ -83,24 +83,4 @@ describe('Performance > Transaction Summary Header', () => { expect(await screen.findByRole('tab', {name: 'Overview'})).toBeInTheDocument(); }); - - it('should hide Tags tab', async () => { - const {project, organization, router, eventView} = initializeData(); - - render( - , - {organization} - ); - - await screen.findByRole('tab', {name: 'Overview'}); - expect(screen.queryByRole('tab', {name: 'Tags'})).not.toBeInTheDocument(); - }); }); diff --git a/static/app/views/performance/transactionSummary/header.tsx b/static/app/views/performance/transactionSummary/header.tsx index 41c88907ea9d..720367b43376 100644 --- a/static/app/views/performance/transactionSummary/header.tsx +++ b/static/app/views/performance/transactionSummary/header.tsx @@ -39,7 +39,6 @@ import {TAB_ANALYTICS} from 'sentry/views/performance/transactionSummary/pageLay import {eventsRouteWithQuery} from 'sentry/views/performance/transactionSummary/transactionEvents/utils'; import {profilesRouteWithQuery} from 'sentry/views/performance/transactionSummary/transactionProfiles/utils'; import {replaysRouteWithQuery} from 'sentry/views/performance/transactionSummary/transactionReplays/utils'; -import {tagsRouteWithQuery} from 'sentry/views/performance/transactionSummary/transactionTags/utils'; import {transactionSummaryRouteWithQuery} from 'sentry/views/performance/transactionSummary/utils'; import {getSelectedProjectPlatforms} from 'sentry/views/performance/utils'; @@ -91,8 +90,6 @@ export function TransactionHeader({ }; switch (newTab) { - case Tab.TAGS: - return tagsRouteWithQuery(routeQuery); case Tab.EVENTS: return eventsRouteWithQuery(routeQuery); case Tab.REPLAYS: @@ -162,9 +159,6 @@ export function TransactionHeader({ > {t('Overview')} {t('Sampled Events')} -