useExploreTracesTable.tsx 902 B

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