import {Location} from 'history';
import moment from 'moment-timezone';
import EmptyStateWarning from 'sentry/components/emptyStateWarning';
import {getTraceDateTimeRange} from 'sentry/components/events/interfaces/spans/utils';
import LoadingIndicator from 'sentry/components/loadingIndicator';
import {Panel, PanelBody} from 'sentry/components/panels';
import {ALL_ACCESS_PROJECTS} from 'sentry/constants/pageFilters';
import {t} from 'sentry/locale';
import {Organization} from 'sentry/types';
import {Event} from 'sentry/types/event';
import DiscoverQuery from 'sentry/utils/discover/discoverQuery';
import EventView from 'sentry/utils/discover/eventView';
import List from './list';
type Props = {
event: Event;
location: Location;
organization: Organization;
traceID?: string;
};
const Body = ({traceID, organization, event, location}: Props) => {
if (!traceID) {
return (
{t(
'This event has no trace context, therefore it was not possible to fetch similar issues by trace ID.'
)}
);
}
const orgSlug = organization.slug;
const orgFeatures = organization.features;
const dateCreated = moment(event.dateCreated).valueOf() / 1000;
const {start, end} = getTraceDateTimeRange({start: dateCreated, end: dateCreated});
const eventView = EventView.fromSavedQuery({
id: undefined,
name: `Issues with Trace ID ${traceID}`,
fields: ['issue.id'],
orderby: '-timestamp',
query: `trace:${traceID} !event.type:transaction !id:${event.id} `,
projects: orgFeatures.includes('global-views')
? [ALL_ACCESS_PROJECTS]
: [Number(event.projectID)],
version: 2,
start,
end,
});
return (
{data => {
if (data.isLoading) {
return ;
}
const issues = data?.tableData?.data || [];
return (
);
}}
);
};
export default Body;