index.tsx 1.2 KB

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