Skip to content

chore(dashboards): Delete old SpanTagsProvider, rename useSpanTags #93915

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 19, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import {
TraceItemSearchQueryBuilder,
useSearchQueryBuilderProps,
} from 'sentry/views/explore/components/traceItemSearchQueryBuilder';
import {useSpanTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemDataset} from 'sentry/views/explore/types';
import {SPANS_FILTER_KEY_SECTIONS} from 'sentry/views/insights/constants';
import {SpanIndexedField} from 'sentry/views/insights/types';
Expand Down Expand Up @@ -192,8 +192,8 @@ function IndexedSpanSearchQueryBuilder({
}

function EapSpanSearchQueryBuilderWrapper(props: SpanSearchQueryBuilderProps) {
const {tags: numberTags} = useSpanTags('number');
const {tags: stringTags} = useSpanTags('string');
const {tags: numberTags} = useTraceItemTags('number');
const {tags: stringTags} = useTraceItemTags('string');

return (
<EAPSpanSearchQueryBuilder
Expand Down
28 changes: 14 additions & 14 deletions static/app/views/alerts/rules/metric/eapField.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import {OrganizationFixture} from 'sentry-fixture/organization';

import {render, screen, userEvent, waitFor} from 'sentry-test/reactTestingLibrary';

import {DiscoverDatasets} from 'sentry/utils/discover/types';
import EAPField from 'sentry/views/alerts/rules/metric/eapField';
import {SpanTagsProvider} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
import {TraceItemDataset} from 'sentry/views/explore/types';

describe('EAPField', () => {
const organization = OrganizationFixture();
Expand All @@ -20,9 +20,9 @@ describe('EAPField', () => {

it('renders', () => {
render(
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<EAPField aggregate={'count(span.duration)'} onChange={() => {}} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
expect(fieldsMock).toHaveBeenCalledWith(
`/organizations/${organization.slug}/trace-items/attributes/`,
Expand All @@ -49,9 +49,9 @@ describe('EAPField', () => {

it('renders epm with argument disabled', () => {
render(
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<EAPField aggregate={'epm()'} onChange={() => {}} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
expect(fieldsMock).toHaveBeenCalledWith(
`/organizations/${organization.slug}/trace-items/attributes/`,
Expand All @@ -78,9 +78,9 @@ describe('EAPField', () => {

it('renders failure_rate with argument disabled', () => {
render(
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<EAPField aggregate={'failure_rate()'} onChange={() => {}} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
expect(fieldsMock).toHaveBeenCalledWith(
`/organizations/${organization.slug}/trace-items/attributes/`,
Expand Down Expand Up @@ -108,9 +108,9 @@ describe('EAPField', () => {
it('should call onChange with the new aggregate string when switching aggregates', async () => {
const onChange = jest.fn();
render(
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<EAPField aggregate={'count(span.duration)'} onChange={onChange} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
expect(fieldsMock).toHaveBeenCalledWith(
`/organizations/${organization.slug}/trace-items/attributes/`,
Expand All @@ -133,9 +133,9 @@ describe('EAPField', () => {
function Component() {
const [aggregate, setAggregate] = useState('count(span.duration)');
return (
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<EAPField aggregate={aggregate} onChange={setAggregate} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
}

Expand All @@ -162,9 +162,9 @@ describe('EAPField', () => {
function Component() {
const [aggregate, setAggregate] = useState('count(span.duration)');
return (
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<EAPField aggregate={aggregate} onChange={setAggregate} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
}

Expand Down
6 changes: 3 additions & 3 deletions static/app/views/alerts/rules/metric/eapField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {
DEFAULT_VISUALIZATION_FIELD,
updateVisualizeAggregate,
} from 'sentry/views/explore/contexts/pageParamsContext/visualizes';
import {useSpanTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';

const DEFAULT_EAP_AGGREGATION = 'count';
const DEFAULT_EAP_FIELD = 'span.duration';
Expand Down Expand Up @@ -48,8 +48,8 @@ function EAPField({aggregate, onChange}: Props) {
arguments: [field],
} = parseFunction(aggregate) ?? {arguments: [undefined]};

const {tags: storedStringTags} = useSpanTags('string');
const {tags: storedNumberTags} = useSpanTags('number');
const {tags: storedStringTags} = useTraceItemTags('string');
const {tags: storedNumberTags} = useTraceItemTags('number');
const storedTags =
aggregation === AggregationKey.COUNT_UNIQUE ? storedStringTags : storedNumberTags;
const numberTags: TagCollection = useMemo(() => {
Expand Down
6 changes: 3 additions & 3 deletions static/app/views/alerts/rules/metric/ruleConditionsForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ import {
DEPRECATED_TRANSACTION_ALERTS,
getSupportedAndOmittedTags,
} from 'sentry/views/alerts/wizard/options';
import {useSpanTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
import {TraceItemDataset} from 'sentry/views/explore/types';
import {
Expand Down Expand Up @@ -775,8 +775,8 @@ function EAPSpanSearchQueryBuilderWithContext({
onSearch,
project,
}: EAPSpanSearchQueryBuilderWithContextProps) {
const {tags: numberTags} = useSpanTags('number');
const {tags: stringTags} = useSpanTags('string');
const {tags: numberTags} = useTraceItemTags('number');
const {tags: stringTags} = useTraceItemTags('string');
return (
<EAPSpanSearchQueryBuilder
numberTags={numberTags}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import {WidgetQueryFixture} from 'sentry-fixture/widgetQuery';
import {render, screen, userEvent, waitFor} from 'sentry-test/reactTestingLibrary';

import type {TagValue} from 'sentry/types/group';
import {DiscoverDatasets} from 'sentry/utils/discover/types';
import SpansSearchBar from 'sentry/views/dashboards/widgetBuilder/buildSteps/filterResultsStep/spansSearchBar';
import {SpanTagsProvider} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
import {TraceItemDataset} from 'sentry/views/explore/types';

// The endpoint seems to just return these fields, but the original TagValue type
// has extra fields related to user information that we don't seem to need.
Expand All @@ -19,9 +19,9 @@ function renderWithProvider({
onClose,
}: ComponentProps<typeof SpansSearchBar>) {
return render(
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<SpansSearchBar widgetQuery={widgetQuery} onSearch={onSearch} onClose={onClose} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {EAPSpanSearchQueryBuilder} from 'sentry/components/performance/spanSearc
import {ALLOWED_EXPLORE_VISUALIZE_AGGREGATES} from 'sentry/utils/fields';
import usePageFilters from 'sentry/utils/usePageFilters';
import type {WidgetBuilderSearchBarProps} from 'sentry/views/dashboards/datasetConfig/base';
import {useSpanTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';

/**
* A search bar for exploring tags and values for spans in Dashboards.
Expand All @@ -20,8 +20,8 @@ function SpansSearchBar({
const {
selection: {projects},
} = usePageFilters();
const {tags: numberTags} = useSpanTags('number');
const {tags: stringTags} = useSpanTags('string');
const {tags: numberTags} = useTraceItemTags('number');
const {tags: stringTags} = useTraceItemTags('string');
return (
<EAPSpanSearchQueryBuilder
initialQuery={widgetQuery.conditions}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import {OrganizationFixture} from 'sentry-fixture/organization';

import {render, screen, userEvent, waitFor} from 'sentry-test/reactTestingLibrary';

import {DiscoverDatasets} from 'sentry/utils/discover/types';
import WidgetBuilderGroupBySelector from 'sentry/views/dashboards/widgetBuilder/components/groupBySelector';
import {WidgetBuilderProvider} from 'sentry/views/dashboards/widgetBuilder/contexts/widgetBuilderContext';
import {SpanTagsProvider} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
import {TraceItemDataset} from 'sentry/views/explore/types';

const organization = OrganizationFixture({
features: [],
Expand All @@ -22,9 +22,9 @@ describe('WidgetBuilderGroupBySelector', function () {
it('renders', async function () {
render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderGroupBySelector validatedWidgetResponse={{} as any} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
organization,
Expand All @@ -39,9 +39,9 @@ describe('WidgetBuilderGroupBySelector', function () {
it('renders the group by field and can function', async function () {
render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderGroupBySelector validatedWidgetResponse={{} as any} />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
organization,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {GroupBySelector} from 'sentry/views/dashboards/widgetBuilder/buildSteps/
import {SectionHeader} from 'sentry/views/dashboards/widgetBuilder/components/common/sectionHeader';
import {useWidgetBuilderContext} from 'sentry/views/dashboards/widgetBuilder/contexts/widgetBuilderContext';
import {BuilderStateAction} from 'sentry/views/dashboards/widgetBuilder/hooks/useWidgetBuilderState';
import {useSpanTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';

interface WidgetBuilderGroupBySelectorProps {
validatedWidgetResponse: UseApiQueryResult<ValidateWidgetResponse, RequestError>;
Expand All @@ -27,8 +27,8 @@ function WidgetBuilderGroupBySelector({
const organization = useOrganization();

let tags: TagCollection = useTags();
const {tags: numericSpanTags} = useSpanTags('number');
const {tags: stringSpanTags} = useSpanTags('string');
const {tags: numericSpanTags} = useTraceItemTags('number');
const {tags: stringSpanTags} = useTraceItemTags('string');
if (state.dataset === WidgetType.SPANS) {
tags = {...numericSpanTags, ...stringSpanTags};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import {space} from 'sentry/styles/space';
import {CustomMeasurementsProvider} from 'sentry/utils/customMeasurements/customMeasurementsProvider';
import type {TableDataWithTitle} from 'sentry/utils/discover/discoverQuery';
import EventView from 'sentry/utils/discover/eventView';
import {DiscoverDatasets} from 'sentry/utils/discover/types';
import {MetricsCardinalityProvider} from 'sentry/utils/performance/contexts/metricsCardinality';
import {MEPSettingProvider} from 'sentry/utils/performance/contexts/metricsEnhancedSetting';
import {useDimensions} from 'sentry/utils/useDimensions';
Expand Down Expand Up @@ -51,7 +50,8 @@ import {
WidgetBuilderProvider,
} from 'sentry/views/dashboards/widgetBuilder/contexts/widgetBuilderContext';
import {DashboardsMEPProvider} from 'sentry/views/dashboards/widgetCard/dashboardsMEPContext';
import {SpanTagsProvider} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
import {TraceItemDataset} from 'sentry/views/explore/types';
import {useNavContext} from 'sentry/views/nav/context';
import {usePrefersStackedNav} from 'sentry/views/nav/usePrefersStackedNav';
import {MetricsDataSwitcher} from 'sentry/views/performance/landing/metricsDataSwitcher';
Expand Down Expand Up @@ -164,8 +164,8 @@ function WidgetBuilderV2({
organization={organization}
selection={selection}
>
<SpanTagsProvider
dataset={DiscoverDatasets.SPANS_EAP}
<TraceItemAttributeProvider
traceItemType={TraceItemDataset.SPANS}
enabled={organization.features.includes('visibility-explore-view')}
>
<ContainerWithoutSidebar
Expand Down Expand Up @@ -227,7 +227,7 @@ function WidgetBuilderV2({
)}
</WidgetBuilderContainer>
</ContainerWithoutSidebar>
</SpanTagsProvider>
</TraceItemAttributeProvider>
</CustomMeasurementsProvider>
</WidgetBuilderProvider>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import useCustomMeasurements from 'sentry/utils/useCustomMeasurements';
import {DisplayType, WidgetType} from 'sentry/views/dashboards/types';
import WidgetBuilderQueryFilterBuilder from 'sentry/views/dashboards/widgetBuilder/components/queryFilterBuilder';
import {WidgetBuilderProvider} from 'sentry/views/dashboards/widgetBuilder/contexts/widgetBuilderContext';
import {useSpanTags} from 'sentry/views/explore/contexts/spanTagsContext';
import {useTraceItemTags} from 'sentry/views/explore/contexts/spanTagsContext';

jest.mock('sentry/utils/useCustomMeasurements');
jest.mock('sentry/views/explore/contexts/spanTagsContext');
Expand All @@ -21,7 +21,7 @@ describe('QueryFilterBuilder', () => {
features: [],
});
jest.mocked(useCustomMeasurements).mockReturnValue({customMeasurements: {}});
jest.mocked(useSpanTags).mockReturnValue({tags: {}, isLoading: false});
jest.mocked(useTraceItemTags).mockReturnValue({tags: {}, isLoading: false});

MockApiClient.addMockResponse({url: '/organizations/org-slug/recent-searches/'});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary';

import type {InjectedRouter} from 'sentry/types/legacyReactRouter';
import type {Organization} from 'sentry/types/organization';
import {DiscoverDatasets} from 'sentry/utils/discover/types';
import {useNavigate} from 'sentry/utils/useNavigate';
import WidgetBuilderSortBySelector from 'sentry/views/dashboards/widgetBuilder/components/sortBySelector';
import {WidgetBuilderProvider} from 'sentry/views/dashboards/widgetBuilder/contexts/widgetBuilderContext';
import {SpanTagsProvider} from 'sentry/views/explore/contexts/spanTagsContext';
import {TraceItemAttributeProvider} from 'sentry/views/explore/contexts/traceItemAttributeContext';
import {TraceItemDataset} from 'sentry/views/explore/types';
import {ELLIPSIS} from 'sentry/views/insights/common/utils/centerTruncate';

jest.mock('sentry/utils/useNavigate', () => ({
Expand Down Expand Up @@ -51,9 +51,9 @@ describe('WidgetBuilderSortBySelector', function () {
it('renders', async function () {
render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router,
Expand All @@ -79,9 +79,9 @@ describe('WidgetBuilderSortBySelector', function () {

render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router: tableRouter,
Expand All @@ -101,9 +101,9 @@ describe('WidgetBuilderSortBySelector', function () {

render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router,
Expand Down Expand Up @@ -142,9 +142,9 @@ describe('WidgetBuilderSortBySelector', function () {
it('renders the correct limit options', async function () {
render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router,
Expand All @@ -169,9 +169,9 @@ describe('WidgetBuilderSortBySelector', function () {

render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router: moreAggregatesRouter,
Expand All @@ -190,9 +190,9 @@ describe('WidgetBuilderSortBySelector', function () {

render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router,
Expand Down Expand Up @@ -250,9 +250,9 @@ describe('WidgetBuilderSortBySelector', function () {

render(
<WidgetBuilderProvider>
<SpanTagsProvider dataset={DiscoverDatasets.SPANS_EAP} enabled>
<TraceItemAttributeProvider traceItemType={TraceItemDataset.SPANS} enabled>
<WidgetBuilderSortBySelector />
</SpanTagsProvider>
</TraceItemAttributeProvider>
</WidgetBuilderProvider>,
{
router,
Expand Down
Loading
Loading