index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. export const getHostSpecInfo = (obj) => {
  2. let cpu_reserved = 0
  3. const {
  4. metadata = {},
  5. cpu_count,
  6. cpu_commit_rate,
  7. cpu_commit,
  8. cpu_commit_bound = 1,
  9. mem_size,
  10. mem_reserved = 0,
  11. mem_commit_bound = 1,
  12. mem_commit,
  13. mem_commit_rate,
  14. storage_size,
  15. storage_used,
  16. actual_storage_used,
  17. storage_commit_rate,
  18. storage_virtual,
  19. cpu_usage_percent = 0,
  20. memory_used_mb = 0,
  21. } = obj
  22. const { reserved_cpus_info = '' } = metadata
  23. if (reserved_cpus_info) {
  24. const l = JSON.parse(reserved_cpus_info)
  25. cpu_reserved = l.cpus.split(',').length
  26. }
  27. const cpuUsedPercent = cpu_usage_percent / 100
  28. const cpuUsed = cpu_count * cpuUsedPercent
  29. const ret = {
  30. cpu_count,
  31. cpu_used: cpuUsed > 0 && cpuUsed < 0.5 ? 1 : cpuUsed,
  32. cpu_reserved,
  33. cpu_count_virtual: (cpu_count - cpu_reserved) * cpu_commit_bound,
  34. cpu_commit,
  35. cpu_commit_rate,
  36. cpu_commit_bound,
  37. mem_size,
  38. mem_used: memory_used_mb,
  39. mem_reserved,
  40. mem_size_virtual: (mem_size - mem_reserved) * mem_commit_bound,
  41. mem_commit,
  42. mem_commit_rate,
  43. mem_commit_bound,
  44. storage_size,
  45. storage_size_virtual: storage_virtual,
  46. storage_commit: storage_used,
  47. storage_commit_rate,
  48. actual_storage_used,
  49. }
  50. return ret
  51. }