eventFunctionRegressionEvidence.tsx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import {EventDataSection} from 'sentry/components/events/eventDataSection';
  2. import KeyValueList from 'sentry/components/events/interfaces/keyValueList';
  3. import {t} from 'sentry/locale';
  4. import type {Event, KeyValueListData} from 'sentry/types';
  5. import {defined} from 'sentry/utils';
  6. import {getFormattedDate} from 'sentry/utils/dates';
  7. interface EventFunctionRegressionEvidenceProps {
  8. event: Event;
  9. }
  10. export function EventFunctionRegressionEvidence({
  11. event,
  12. }: EventFunctionRegressionEvidenceProps) {
  13. const evidenceData = event.occurrence?.evidenceData;
  14. if (!defined(evidenceData)) {
  15. return null;
  16. }
  17. const data: KeyValueListData = [
  18. {
  19. key: 'function',
  20. subject: t('Function Name'),
  21. value: evidenceData?.function || t('unknown'),
  22. },
  23. {
  24. key: 'package',
  25. subject: t('Package Name'),
  26. value: evidenceData.package || evidenceData.module || t('unknown'),
  27. },
  28. {
  29. key: 'file',
  30. subject: t('File Name'),
  31. value: evidenceData.file || t('unknown'),
  32. },
  33. {
  34. key: 'regression',
  35. subject: t('Regression Date'),
  36. value: getFormattedDate(
  37. evidenceData.breakpoint * 1000,
  38. 'MMM D, YYYY hh:mm:ss A z',
  39. {
  40. local: true,
  41. }
  42. ),
  43. },
  44. ];
  45. return (
  46. <EventDataSection title="Function Evidence" type="evidence">
  47. <KeyValueList data={data} shouldSort={false} />
  48. </EventDataSection>
  49. );
  50. }