def get(self): stats = self._empty_stats() first_sample, last_sample, _ = self._samples.stats() if first_sample is None: return stats stats.update(_get_interfaces_stats(first_sample, last_sample)) interval = last_sample.timestamp - first_sample.timestamp jiffies = ( last_sample.pidcpu.user - first_sample.pidcpu.user ) % JIFFIES_BOUND stats['cpuUserVdsmd'] = jiffies / interval jiffies = ( last_sample.pidcpu.sys - first_sample.pidcpu.sys ) % JIFFIES_BOUND stats['cpuSysVdsmd'] = jiffies / interval jiffies = ( last_sample.totcpu.user - first_sample.totcpu.user ) % JIFFIES_BOUND stats['cpuUser'] = jiffies / interval / self._ncpus jiffies = ( last_sample.totcpu.sys - first_sample.totcpu.sys ) % JIFFIES_BOUND stats['cpuSys'] = jiffies / interval / self._ncpus stats['cpuIdle'] = max(0.0, 100.0 - stats['cpuUser'] - stats['cpuSys']) stats['memUsed'] = last_sample.memUsed stats['anonHugePages'] = last_sample.anonHugePages stats['cpuLoad'] = last_sample.cpuLoad stats['diskStats'] = last_sample.diskStats stats['thpState'] = last_sample.thpState if self._boot_time(): stats['bootTime'] = self._boot_time() stats['numaNodeMemFree'] = last_sample.numaNodeMem.nodesMemSample stats['cpuStatistics'] = _get_cpu_core_stats( first_sample, last_sample) stats['v2vJobs'] = v2v.get_jobs_status() return stats
def get(self): stats = self._empty_stats() first_sample, last_sample, _ = self._samples.stats() if first_sample is None: return stats stats.update(self._getInterfacesStats()) interval = last_sample.timestamp - first_sample.timestamp jiffies = (last_sample.pidcpu.user - first_sample.pidcpu.user) % JIFFIES_BOUND stats['cpuUserVdsmd'] = jiffies / interval jiffies = (last_sample.pidcpu.sys - first_sample.pidcpu.sys) % JIFFIES_BOUND stats['cpuSysVdsmd'] = jiffies / interval jiffies = (last_sample.totcpu.user - first_sample.totcpu.user) % JIFFIES_BOUND stats['cpuUser'] = jiffies / interval / self._ncpus jiffies = (last_sample.totcpu.sys - first_sample.totcpu.sys) % JIFFIES_BOUND stats['cpuSys'] = jiffies / interval / self._ncpus stats['cpuIdle'] = max(0.0, 100.0 - stats['cpuUser'] - stats['cpuSys']) stats['memUsed'] = last_sample.memUsed stats['anonHugePages'] = last_sample.anonHugePages stats['cpuLoad'] = last_sample.cpuLoad stats['diskStats'] = last_sample.diskStats stats['thpState'] = last_sample.thpState if self._boot_time(): stats['bootTime'] = self._boot_time() stats['numaNodeMemFree'] = last_sample.numaNodeMem.nodesMemSample stats['cpuStatistics'] = self._getCpuCoresStats() stats['v2vJobs'] = v2v.get_jobs_status() return stats
def get(self): stats = self._empty_stats() if len(self._samples) < 2: return stats stats.update(self._getInterfacesStats()) hs0, hs1 = self._samples[0], self._samples[-1] interval = hs1.timestamp - hs0.timestamp jiffies = (hs1.pidcpu.user - hs0.pidcpu.user) % (2 ** 32) stats['cpuUserVdsmd'] = jiffies / interval jiffies = (hs1.pidcpu.sys - hs0.pidcpu.sys) % (2 ** 32) stats['cpuSysVdsmd'] = jiffies / interval jiffies = (hs1.totcpu.user - hs0.totcpu.user) % (2 ** 32) stats['cpuUser'] = jiffies / interval / self._ncpus jiffies = (hs1.totcpu.sys - hs0.totcpu.sys) % (2 ** 32) stats['cpuSys'] = jiffies / interval / self._ncpus stats['cpuIdle'] = max(0.0, 100.0 - stats['cpuUser'] - stats['cpuSys']) stats['memUsed'] = hs1.memUsed stats['anonHugePages'] = hs1.anonHugePages stats['cpuLoad'] = hs1.cpuLoad stats['diskStats'] = hs1.diskStats stats['thpState'] = hs1.thpState if self._boot_time(): stats['bootTime'] = self._boot_time() stats['numaNodeMemFree'] = hs1.numaNodeMem.nodesMemSample stats['cpuStatistics'] = self._getCpuCoresStats() stats['v2vJobs'] = v2v.get_jobs_status() return stats