useExploreTracesTable.tsx 945 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import {useMemo} from 'react';
  2. import {DEFAULT_PER_PAGE} from 'sentry/constants';
  3. import {decodeScalar} from 'sentry/utils/queryString';
  4. import {useLocation} from 'sentry/utils/useLocation';
  5. import {useExploreDataset} from 'sentry/views/explore/contexts/pageParamsContext';
  6. import {useTraces} from 'sentry/views/explore/hooks/useTraces';
  7. interface UseExploreTracesTableOptions {
  8. enabled: boolean;
  9. query: string;
  10. }
  11. export interface TracesTableResult {
  12. result: ReturnType<typeof useTraces>;
  13. }
  14. export function useExploreTracesTable({
  15. enabled,
  16. query,
  17. }: UseExploreTracesTableOptions): TracesTableResult {
  18. const location = useLocation();
  19. const cursor = decodeScalar(location.query.cursor);
  20. const dataset = useExploreDataset();
  21. const result = useTraces({
  22. enabled,
  23. dataset,
  24. query,
  25. limit: DEFAULT_PER_PAGE,
  26. sort: '-timestamp',
  27. cursor,
  28. });
  29. return useMemo(() => {
  30. return {result};
  31. }, [result]);
  32. }