useProjectWebVitalsQuery.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import {useDiscoverQuery} from 'sentry/utils/discover/discoverQuery';
  2. import EventView from 'sentry/utils/discover/eventView';
  3. import {useLocation} from 'sentry/utils/useLocation';
  4. import useOrganization from 'sentry/utils/useOrganization';
  5. import usePageFilters from 'sentry/utils/usePageFilters';
  6. export const useProjectWebVitalsQuery = () => {
  7. const organization = useOrganization();
  8. const pageFilters = usePageFilters();
  9. const location = useLocation();
  10. const projectEventView = EventView.fromNewQueryWithPageFilters(
  11. {
  12. fields: [
  13. 'p75(measurements.lcp)',
  14. 'p75(measurements.fcp)',
  15. 'p75(measurements.cls)',
  16. 'p75(measurements.ttfb)',
  17. 'p75(measurements.fid)',
  18. 'count()',
  19. ],
  20. name: 'Web Vitals',
  21. query:
  22. 'transaction.op:pageload (transaction:/performance* or transaction:/discover* or transaction:/dashboards*)',
  23. version: 2,
  24. },
  25. pageFilters.selection
  26. );
  27. return useDiscoverQuery({
  28. eventView: projectEventView,
  29. limit: 50,
  30. location,
  31. orgSlug: organization.slug,
  32. options: {
  33. enabled: pageFilters.isReady,
  34. refetchOnWindowFocus: false,
  35. },
  36. });
  37. };