def get_disks(): sensors_space = [] sensor_usage_values = {} for part in psutil.disk_partitions(all=False): if os.name == 'nt': if 'cdrom' in part.opts or part.fstype == '': continue usage = psutil.disk_usage(part.mountpoint) sensor_values = { const.SENSOR_NAME_DISKS_TOTAL_SPACE: to_mega_byte(usage.total), const.SENSOR_NAME_DISKS_USED_SPACE: to_mega_byte(usage.used), const.SENSOR_NAME_DISKS_FREE_SPACE: to_mega_byte(usage.free) } sensor_name_space = const.SENSOR_NAME_DISKS_SPACE.format(part.device) sensors_space.append(get_sensor(sensor_name_space, sensor_values)) sensor_usage_values[part.device] = usage.percent sensors_space.append( get_sensor(const.SENSOR_NAME_DISKS_PERCENT_USED, sensor_usage_values)) return sensors_space
def get_networks(): sensors = [] network_total = psutil.net_io_counters() bandwidth_value = { const.SENSOR_NAME_NETWORKS_RECV: network_total.bytes_recv, const.SENSOR_NAME_NETWORKS_SENT: network_total.bytes_sent } packet_value = { const.SENSOR_NAME_NETWORKS_RECV: network_total.packets_recv, const.SENSOR_NAME_NETWORKS_SENT: network_total.packets_sent } sensors.append( get_sensor( const.SENSOR_NAME_NETWORKS.format( const.SENSOR_NAME_NETWORKS_BANDWIDTH), bandwidth_value)) sensors.append( get_sensor( const.SENSOR_NAME_NETWORKS.format( const.SENSOR_NAME_NETWORKS_PACKET), packet_value)) return sensors
def get_sensors_for_memory(nt, prefix): sensors = [] space_values = {} for name in nt._fields: value = getattr(nt, name) if name != 'percent': space_values[name.capitalize()] = to_mega_byte(value) else: percent_value = value sensors.append( get_sensor(prefix + const.SENSOR_NAME_MEMORY_SPACE, space_values)) sensors.append( get_sensor(prefix + const.SENSOR_NAME_MEMORY_PERCENT, percent_value)) return sensors
def get_internet_speed(): st = speedtest.Speedtest() payload = { const.SENSOR_NAME_INTERNET_SPEED_DOWNLOAD : round(st.download()/1000000,2) , const.SENSOR_NAME_INTERNET_SPEED_UPLOAD: round(st.upload()/1000000, 2) } internet_speed = [util.get_sensor(const.SENSOR_NAME_INTERNET_SPEED_NAME, payload)] return internet_speed
def get_fans(): sensors = [] if not hasattr(psutil, "sensors_fans"): return sensors fans = psutil.sensors_fans() if not fans: return sensors sensor_values = {} for name, entries in fans.items(): for entry in entries: sensor_values[const.SENSOR_NAME_FANS_FORMAT.format( name, entry.label)] = entry.current sensors.append(get_sensor(const.SENSOR_NAME_FANS, sensor_values)) return sensors
def get_cpus(): return [get_sensor(const.SENSOR_NAME_CPU_USAGE, psutil.cpu_percent())]