def get_system_cpu_times(): """Return a named tuple representing the following CPU times: user, nice, system, idle, iowait, irq, softirq. """ f = open('/proc/stat', 'r') try: values = f.readline().split() finally: f.close() values = values[1:8] values = tuple([float(x) / _CLOCK_TICKS for x in values]) return nt_sys_cputimes(*values[:7])
def get_system_per_cpu_times(): """Return a list of namedtuple representing the CPU times for every CPU available on the system. """ cpus = [] f = open('/proc/stat', 'r') # get rid of the first line who refers to system wide CPU stats try: f.readline() for line in f.readlines(): if line.startswith('cpu'): values = line.split()[1:8] values = tuple([float(x) / _CLOCK_TICKS for x in values]) entry = nt_sys_cputimes(*values[:7]) cpus.append(entry) return cpus finally: f.close()