getThreadPoolInfoKnownDataDetails.tsx 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import {t} from 'sentry/locale';
  2. import {Event, ThreadPoolInfoContext, ThreadPoolInfoContextKey} from 'sentry/types/event';
  3. export const threadPoolInfoKnownDataValues = Object.values(ThreadPoolInfoContextKey);
  4. type Output = {
  5. subject: string;
  6. value: React.ReactNode | null;
  7. };
  8. type Props = {
  9. data: ThreadPoolInfoContext;
  10. event: Event;
  11. type: (typeof threadPoolInfoKnownDataValues)[number];
  12. };
  13. export function getThreadPoolInfoKnownDataDetails({
  14. data,
  15. type,
  16. }: Props): Output | undefined {
  17. switch (type) {
  18. case ThreadPoolInfoContextKey.AVAILABLE_COMPLETION_PORT_THREADS:
  19. return {
  20. subject: t('Available Completion Port Threads'),
  21. value: data.available_completion_port_threads,
  22. };
  23. case ThreadPoolInfoContextKey.AVAILABLE_WORKER_THREADS:
  24. return {
  25. subject: t('Available Worker Threads'),
  26. value: data.available_worker_threads,
  27. };
  28. case ThreadPoolInfoContextKey.MAX_COMPLETION_PORT_THREADS:
  29. return {
  30. subject: t('Max Completion Port Threads'),
  31. value: data.max_completion_port_threads,
  32. };
  33. case ThreadPoolInfoContextKey.MAX_WORKER_THREADS:
  34. return {
  35. subject: t('Max Worker Threads'),
  36. value: data.max_worker_threads,
  37. };
  38. case ThreadPoolInfoContextKey.MIN_COMPLETION_PORT_THREADS:
  39. return {
  40. subject: t('Min Completion Port Threads'),
  41. value: data.min_completion_port_threads,
  42. };
  43. case ThreadPoolInfoContextKey.MIN_WORKER_THREADS:
  44. return {
  45. subject: t('Min Worker Threads'),
  46. value: data.min_worker_threads,
  47. };
  48. default:
  49. return undefined;
  50. }
  51. }