transactionDurationChart.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import {decodeScalar} from 'sentry/utils/queryString';
  2. import useLocationQuery from 'sentry/utils/url/useLocationQuery';
  3. import {Referrer} from 'sentry/views/performance/cache/referrers';
  4. import {useTransactionDurationSeries} from 'sentry/views/performance/cache/samplePanel/charts/useTransactionDurationSeries';
  5. import {CHART_HEIGHT} from 'sentry/views/performance/cache/settings';
  6. import {AVG_COLOR} from 'sentry/views/starfish/colors';
  7. import Chart, {ChartType} from 'sentry/views/starfish/components/chart';
  8. import ChartPanel from 'sentry/views/starfish/components/chartPanel';
  9. import {DataTitles} from 'sentry/views/starfish/views/spans/types';
  10. export function TransactionDurationChart() {
  11. const {transaction} = useLocationQuery({
  12. fields: {
  13. project: decodeScalar,
  14. transaction: decodeScalar,
  15. },
  16. });
  17. const {data, isLoading} = useTransactionDurationSeries({
  18. transactionName: transaction,
  19. referrer: Referrer.SAMPLES_CACHE_TRANSACTION_DURATION,
  20. });
  21. return (
  22. <ChartPanel title={DataTitles.transactionDuration}>
  23. <Chart
  24. height={CHART_HEIGHT}
  25. grid={{
  26. left: '0',
  27. right: '0',
  28. top: '8px',
  29. bottom: '0',
  30. }}
  31. data={[data['avg(transaction.duration)']]}
  32. loading={isLoading}
  33. chartColors={[AVG_COLOR]}
  34. type={ChartType.LINE}
  35. />
  36. </ChartPanel>
  37. );
  38. }