missingInstrumentation.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import {IconSpan} from 'sentry/icons';
  2. import {t} from 'sentry/locale';
  3. import {getDuration} from 'sentry/utils/formatters';
  4. import {Row} from 'sentry/views/performance/traceDetails/styles';
  5. import type {MissingInstrumentationNode} from '../../traceTree';
  6. import {TraceDrawerComponents} from './styles';
  7. export function MissingInstrumentationNodeDetails({
  8. node,
  9. }: {
  10. node: MissingInstrumentationNode;
  11. }) {
  12. return (
  13. <TraceDrawerComponents.DetailContainer>
  14. <TraceDrawerComponents.IconTitleWrapper>
  15. <TraceDrawerComponents.IconBorder>
  16. <IconSpan color="blue300" size="md" />
  17. </TraceDrawerComponents.IconBorder>
  18. <div style={{fontWeight: 'bold'}}>{t('Missing Instrumentation')}</div>
  19. </TraceDrawerComponents.IconTitleWrapper>
  20. <TraceDrawerComponents.Table className="table key-value">
  21. <tbody>
  22. <Row title={t('Gap Duration')}>
  23. {getDuration(node.value.timestamp - node.value.start_timestamp, 2, true)}
  24. </Row>
  25. <Row title={t('Previous Span')}>
  26. {node.previous.value.op} - {node.previous.value.description}
  27. </Row>
  28. <Row title={t('Next Span')}>
  29. {node.next.value.op} - {node.next.value.description}
  30. </Row>
  31. </tbody>
  32. </TraceDrawerComponents.Table>
  33. </TraceDrawerComponents.DetailContainer>
  34. );
  35. }