def host_disk_usage_io_performance_report(self):
data = list()
disk_io_counters = psutil.disk_io_counters(perdisk=True)
for mountpoint, disk in self.disks.items():
dev = os.path.basename(disk['real_device'])
disk_usage_io = list()
if dev in self.last_host_disk_io:
disk_usage_io = {
'node_id': self.node_id,
'mountpoint': mountpoint,
'used': psutil.disk_usage(mountpoint).used,
'rd_req':
(disk_io_counters[dev].read_count - self.last_host_disk_io[dev].read_count) / self.interval,
'rd_bytes':
(disk_io_counters[dev].read_bytes - self.last_host_disk_io[dev].read_bytes) / self.interval,
'wr_req':
(disk_io_counters[dev].write_count - self.last_host_disk_io[dev].write_count) / self.interval,
'wr_bytes':
(disk_io_counters[dev].write_bytes - self.last_host_disk_io[dev].write_bytes) / self.interval
}
elif not isinstance(self.last_host_disk_io, dict):
self.last_host_disk_io = dict()
self.last_host_disk_io[dev] = disk_io_counters[dev]
if disk_usage_io.__len__() > 0:
data.append(disk_usage_io)
if data.__len__() > 0:
host_collection_performance_emit.disk_usage_io(data=data)
评论列表
文章目录