getMemoryInfoKnownDataDetails.tsx 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import type {KnownDataDetails} from 'sentry/components/events/contexts/utils';
  2. import {t} from 'sentry/locale';
  3. import type {Event, MemoryInfoContext} from 'sentry/types/event';
  4. import {MemoryInfoContextKey} from 'sentry/types/event';
  5. export const memoryInfoKnownDataValues = Object.values(MemoryInfoContextKey);
  6. type Props = {
  7. data: MemoryInfoContext;
  8. event: Event;
  9. type: (typeof memoryInfoKnownDataValues)[number];
  10. };
  11. export function getMemoryInfoKnownDataDetails({data, type}: Props): KnownDataDetails {
  12. switch (type) {
  13. case MemoryInfoContextKey.ALLOCATED_BYTES:
  14. return {
  15. subject: t('Allocated Bytes'),
  16. value: data.allocated_bytes,
  17. };
  18. case MemoryInfoContextKey.FRAGMENTED_BYTES:
  19. return {
  20. subject: t('Fragmented Bytes'),
  21. value: data.fragmented_bytes,
  22. };
  23. case MemoryInfoContextKey.HEAP_SIZE_BYTES:
  24. return {
  25. subject: t('Heap Size Bytes'),
  26. value: data.heap_size_bytes,
  27. };
  28. case MemoryInfoContextKey.HIGH_MEMORY_LOAD_THRESHOLD_BYTES:
  29. return {
  30. subject: t('High Memory Load Threshold Bytes'),
  31. value: data.high_memory_load_threshold_bytes,
  32. };
  33. case MemoryInfoContextKey.TOTAL_AVAILABLE_MEMORY_BYTES:
  34. return {
  35. subject: t('Total Available Memory Bytes'),
  36. value: data.total_available_memory_bytes,
  37. };
  38. case MemoryInfoContextKey.MEMORY_LOAD_BYTES:
  39. return {
  40. subject: t('Memory Load Bytes'),
  41. value: data.memory_load_bytes,
  42. };
  43. case MemoryInfoContextKey.TOTAL_COMMITTED_BYTES:
  44. return {
  45. subject: t('Total Committed Bytes'),
  46. value: data.total_committed_bytes,
  47. };
  48. case MemoryInfoContextKey.PROMOTED_BYTES:
  49. return {
  50. subject: t('Promoted Bytes'),
  51. value: data.promoted_bytes,
  52. };
  53. case MemoryInfoContextKey.PINNED_OBJECTS_COUNT:
  54. return {
  55. subject: t('Pinned Objects Count'),
  56. value: data.pinned_objects_count,
  57. };
  58. case MemoryInfoContextKey.PAUSE_TIME_PERCENTAGE:
  59. return {
  60. subject: t('Pause Time Percentage'),
  61. value: data.pause_time_percentage,
  62. };
  63. case MemoryInfoContextKey.INDEX:
  64. return {
  65. subject: t('Index'),
  66. value: data.index,
  67. };
  68. case MemoryInfoContextKey.FINALIZATION_PENDING_COUNT:
  69. return {
  70. subject: t('Finalization Pending Count'),
  71. value: data.finalization_pending_count,
  72. };
  73. case MemoryInfoContextKey.COMPACTED:
  74. return {
  75. subject: t('Compacted'),
  76. value: data.compacted,
  77. };
  78. case MemoryInfoContextKey.CONCURRENT:
  79. return {
  80. subject: t('Concurrent'),
  81. value: data.concurrent,
  82. };
  83. case MemoryInfoContextKey.PAUSE_DURATIONS:
  84. return {
  85. subject: t('Pause Durations'),
  86. value: data.pause_durations,
  87. };
  88. default:
  89. return undefined;
  90. }
  91. }