Improved getHostVmsStats (Promise.all)
This commit is contained in:
parent
94e9bbfd63
commit
c274486057
@ -138,16 +138,20 @@ class UsageReportPlugin {
|
|||||||
const _getHostVmsStats = async (machine, granularity) => {
|
const _getHostVmsStats = async (machine, granularity) => {
|
||||||
const host = await this_._xo.getObject(machine)
|
const host = await this_._xo.getObject(machine)
|
||||||
const objects = await this_._xo.getObjects()
|
const objects = await this_._xo.getObjects()
|
||||||
const runningVmsOnPool = []
|
const promises = []
|
||||||
|
const vmIds = []
|
||||||
forEach(objects, (obj) => {
|
forEach(objects, (obj) => {
|
||||||
if (obj.type === 'VM' && obj.power_state === 'Running' && obj.$poolId === host.$poolId) {
|
if (obj.type === 'VM' && obj.power_state === 'Running' && obj.$poolId === host.$poolId) {
|
||||||
runningVmsOnPool.push(obj)
|
vmIds.push(obj.id)
|
||||||
|
promises.push(this_._xo.getXapiVmStats(obj, granularity))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
const vmsStatsArray = await Promise.all(promises)
|
||||||
|
|
||||||
const vmStats = {}
|
const vmStats = {}
|
||||||
for (const vm of runningVmsOnPool) {
|
forEach(vmsStatsArray, (stats, index) => {
|
||||||
vmStats[vm.id] = await this_._xo.getXapiVmStats(vm, granularity)
|
vmStats[vmIds[index]] = stats
|
||||||
}
|
})
|
||||||
return vmStats
|
return vmStats
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user