def get_vm_cpu_rate(self, uuid): """ get cpu rate 100 * diff_vm_cpu_time / (diff_sys_cpu_time * 1 * 1e9) return cpurate% """ result = 0 vm_info = self.vms_info.get(uuid, None) vm_info_before = self.vms_info_before.get(uuid, None) if not vm_info or not vm_info_before: return result info = vm_info.get("cpu_mem_state_info", None) info_before = vm_info_before.get("cpu_mem_state_info", None) cpu_time = info[-1] cpu_time_before = info_before[-1] last = self.vms_info_timestamp before = self.vms_info_before_timestamp if cpu_time and cpu_time_before: result = 100 * abs(cpu_time_before - cpu_time) / \ (abs(last - before) * 1 * 1e9) return round(result, 2)