index.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import {Fragment} from 'react';
  2. import ContextBlock from 'sentry/components/events/contexts/contextBlock';
  3. import {Event, MemoryInfoContext} from 'sentry/types/event';
  4. import {getKnownData, getUnknownData} from '../utils';
  5. import {
  6. getMemoryInfoKnownDataDetails,
  7. memoryInfoKnownDataValues,
  8. } from './getMemoryInfoKnownDataDetails';
  9. type Props = {
  10. data: MemoryInfoContext | null;
  11. event: Event;
  12. };
  13. export function MemoryInfoEventContext({data, event}: Props) {
  14. if (!data) {
  15. return null;
  16. }
  17. const meta =
  18. event._meta?.contexts?.['Memory Info'] ?? event._meta?.contexts?.memory_info ?? {};
  19. return (
  20. <Fragment>
  21. <ContextBlock
  22. data={getKnownData<MemoryInfoContext, (typeof memoryInfoKnownDataValues)[number]>(
  23. {
  24. data,
  25. meta,
  26. knownDataTypes: memoryInfoKnownDataValues,
  27. onGetKnownDataDetails: v => getMemoryInfoKnownDataDetails({...v, event}),
  28. }
  29. )}
  30. />
  31. <ContextBlock
  32. data={getUnknownData({
  33. allData: data,
  34. knownKeys: memoryInfoKnownDataValues,
  35. meta,
  36. })}
  37. />
  38. </Fragment>
  39. );
  40. }