Total.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React from 'react';
  2. import * as Metrics from 'components/common/Metrics';
  3. import { useTimeFormat } from 'lib/hooks/useTimeFormat';
  4. import { TopicAnalysisStats } from 'generated-sources';
  5. const Total: React.FC<TopicAnalysisStats> = ({
  6. totalMsgs,
  7. minOffset,
  8. maxOffset,
  9. minTimestamp,
  10. maxTimestamp,
  11. nullKeys,
  12. nullValues,
  13. approxUniqKeys,
  14. approxUniqValues,
  15. }) => {
  16. const formatTimestamp = useTimeFormat();
  17. return (
  18. <Metrics.Section title="Messages">
  19. <Metrics.Indicator label="Total number">{totalMsgs}</Metrics.Indicator>
  20. <Metrics.Indicator label="Offsets min-max">
  21. {`${minOffset} - ${maxOffset}`}
  22. </Metrics.Indicator>
  23. <Metrics.Indicator label="Timestamp min-max">
  24. {`${formatTimestamp(minTimestamp)} - ${formatTimestamp(maxTimestamp)}`}
  25. </Metrics.Indicator>
  26. <Metrics.Indicator label="Null keys">{nullKeys}</Metrics.Indicator>
  27. <Metrics.Indicator
  28. label="Unique keys"
  29. title="Approximate number of unique keys"
  30. >
  31. {approxUniqKeys}
  32. </Metrics.Indicator>
  33. <Metrics.Indicator label="Null values">{nullValues}</Metrics.Indicator>
  34. <Metrics.Indicator
  35. label="Unique values"
  36. title="Approximate number of unique values"
  37. >
  38. {approxUniqValues}
  39. </Metrics.Indicator>
  40. </Metrics.Section>
  41. );
  42. };
  43. export default Total;