def _getuptime(self): """Get system statistics from the output of the 'uptime' command. """ uptime_cmd = "/usr/bin/uptime" (retval, output) = utils.safe_getstatusoutput(uptime_cmd) if retval != 0: log.log( "<system>system._getuptime(): error calling '%s'" % (uptime_cmd), 5) return None uptime_dict = {} uptime_re = ".+up (?P<uptime>.+), (?P<users>[0-9]+) users?, load averages: (?P<loadavg1>[0-9.]+) (?P<loadavg5>[0-9.]+) (?P<loadavg15>[0-9.]+)" inx = re.compile(uptime_re) sre = inx.search(output) if sre: uptime_dict = sre.groupdict() else: log.log( "<system>system._getuptime(): could not parse uptime output '%s'" % (output), 5) return None # convert types uptime_dict['uptime'] = uptime_dict['uptime'] uptime_dict['users'] = int(uptime_dict['users']) uptime_dict['loadavg1'] = float(uptime_dict['loadavg1']) uptime_dict['loadavg5'] = float(uptime_dict['loadavg5']) uptime_dict['loadavg15'] = float(uptime_dict['loadavg15']) return uptime_dict
def _getuptime(self): """Get system statistics from the output of the 'uptime' command. """ uptime_cmd = "/usr/bin/uptime" (retval, output) = utils.safe_getstatusoutput(uptime_cmd) if retval != 0: log.log("<system>system._getuptime(): error calling '%s'"%(uptime_cmd), 5) return None uptime_dict = {} uptime_re = ".+up (?P<uptime>.+), (?P<users>[0-9]+) users?, load averages: (?P<loadavg1>[0-9.]+) (?P<loadavg5>[0-9.]+) (?P<loadavg15>[0-9.]+)" inx = re.compile(uptime_re) sre = inx.search(output) if sre: uptime_dict = sre.groupdict() else: log.log("<system>system._getuptime(): could not parse uptime output '%s'" % (output), 5) return None # convert types uptime_dict['uptime'] = uptime_dict['uptime'] uptime_dict['users'] = int(uptime_dict['users']) uptime_dict['loadavg1'] = float(uptime_dict['loadavg1']) uptime_dict['loadavg5'] = float(uptime_dict['loadavg5']) uptime_dict['loadavg15'] = float(uptime_dict['loadavg15']) return uptime_dict
def _getvmstat(self): """Get system virtual memory statistics from the 'vm_stat' command. """ vmstat_cmd = "/usr/bin/vm_stat" (retval, output) = utils.safe_getstatusoutput(vmstat_cmd) if retval != 0: log.log( "<system>system._getvmstat(): error calling '%s'" % (vmstat_cmd), 5) return None vmstat_dict = {} for l in output.split('\n'): if l.find('Pages free:') != -1: vmstat_dict['pages_free'] = long(l.split()[-1][:-1]) elif l.find('Pages active:') != -1: vmstat_dict['pages_active'] = long(l.split()[-1][:-1]) elif l.find('Pages inactive:') != -1: vmstat_dict['pages_inactive'] = long(l.split()[-1][:-1]) elif l.find('Pages wired down:') != -1: vmstat_dict['pages_wired_down'] = long(l.split()[-1][:-1]) elif l.find('Translation faults') != -1: vmstat_dict['ctr_translation_faults'] = long( l.split()[-1][:-1]) elif l.find('Pages copy-on-write:') != -1: vmstat_dict['ctr_pages_copyonwrite'] = long(l.split()[-1][:-1]) elif l.find('Pages zero filled:') != -1: vmstat_dict['ctr_pages_zero_filled'] = long(l.split()[-1][:-1]) elif l.find('Pages reactivated:') != -1: vmstat_dict['ctr_pages_reactivated'] = long(l.split()[-1][:-1]) elif l.find('Pageins:') != -1: vmstat_dict['ctr_pageins'] = long(l.split()[-1][:-1]) elif l.find('Pageouts:') != -1: vmstat_dict['ctr_pageouts'] = long(l.split()[-1][:-1]) return vmstat_dict
def _getvmstat(self): """Get system virtual memory statistics from the 'vm_stat' command. """ vmstat_cmd = "/usr/bin/vm_stat" (retval, output) = utils.safe_getstatusoutput(vmstat_cmd) if retval != 0: log.log("<system>system._getvmstat(): error calling '%s'"%(vmstat_cmd), 5) return None vmstat_dict = {} for l in output.split('\n'): if l.find('Pages free:') != -1: vmstat_dict['pages_free'] = long(l.split()[-1][:-1]) elif l.find('Pages active:') != -1: vmstat_dict['pages_active'] = long(l.split()[-1][:-1]) elif l.find('Pages inactive:') != -1: vmstat_dict['pages_inactive'] = long(l.split()[-1][:-1]) elif l.find('Pages wired down:') != -1: vmstat_dict['pages_wired_down'] = long(l.split()[-1][:-1]) elif l.find('Translation faults') != -1: vmstat_dict['ctr_translation_faults'] = long(l.split()[-1][:-1]) elif l.find('Pages copy-on-write:') != -1: vmstat_dict['ctr_pages_copyonwrite'] = long(l.split()[-1][:-1]) elif l.find('Pages zero filled:') != -1: vmstat_dict['ctr_pages_zero_filled'] = long(l.split()[-1][:-1]) elif l.find('Pages reactivated:') != -1: vmstat_dict['ctr_pages_reactivated'] = long(l.split()[-1][:-1]) elif l.find('Pageins:') != -1: vmstat_dict['ctr_pageins'] = long(l.split()[-1][:-1]) elif l.find('Pageouts:') != -1: vmstat_dict['ctr_pageouts'] = long(l.split()[-1][:-1]) return vmstat_dict