BIND 10 trac2122, updated. 54187dc3c52bf39c5d91c59ddda69b436f1acf30 [2122] Correctly parse output of sysctl -n vm.loadavg on FreeBSD
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Jul 13 05:49:02 UTC 2012
The branch, trac2122 has been updated
via 54187dc3c52bf39c5d91c59ddda69b436f1acf30 (commit)
from 65f05e0350031940d472e00fea875fae7ad5e6ef (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 54187dc3c52bf39c5d91c59ddda69b436f1acf30
Author: Mukund Sivaraman <muks at isc.org>
Date: Fri Jul 13 11:18:40 2012 +0530
[2122] Correctly parse output of sysctl -n vm.loadavg on FreeBSD
-----------------------------------------------------------------------
Summary of changes:
src/lib/python/isc/sysinfo/sysinfo.py | 29 ++++++++++++++++------
src/lib/python/isc/sysinfo/tests/sysinfo_test.py | 8 +++---
2 files changed, 25 insertions(+), 12 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/python/isc/sysinfo/sysinfo.py b/src/lib/python/isc/sysinfo/sysinfo.py
index 07f9183..ddfd224 100644
--- a/src/lib/python/isc/sysinfo/sysinfo.py
+++ b/src/lib/python/isc/sysinfo/sysinfo.py
@@ -296,14 +296,6 @@ class SysInfoBSD(SysInfoPOSIX):
self._hostname = 'Unknown'
try:
- s = subprocess.check_output(['sysctl', '-n', 'vm.loadavg'])
- l = s.decode('utf-8').strip().split(' ')
- if len(l) >= 3:
- self._loadavg = [float(l[0]), float(l[1]), float(l[2])]
- except (subprocess.CalledProcessError, OSError):
- pass
-
- try:
s = subprocess.check_output(['sysctl', '-n', 'hw.physmem'])
self._mem_total = int(s.decode('utf-8').strip())
except (subprocess.CalledProcessError, OSError):
@@ -365,6 +357,14 @@ class SysInfoOpenBSD(SysInfoBSD):
pass
try:
+ s = subprocess.check_output(['sysctl', '-n', 'vm.loadavg'])
+ l = s.decode('utf-8').strip().split(' ')
+ if len(l) >= 3:
+ self._loadavg = [float(l[0]), float(l[1]), float(l[2])]
+ except (subprocess.CalledProcessError, OSError):
+ pass
+
+ try:
s = subprocess.check_output(['vmstat'])
lines = s.decode('utf-8').split('\n')
v = re.split('\s+', lines[2])
@@ -417,6 +417,19 @@ class SysInfoFreeBSD(SysInfoBSD):
pass
try:
+ s = subprocess.check_output(['sysctl', '-n', 'vm.loadavg'])
+ l = s.decode('utf-8').strip()
+ r = re.match('^\{(.*)\}$', l)
+ if r:
+ la = r.group(1).strip().split(' ')
+ else:
+ la = l.split(' ')
+ if len(la) >= 3:
+ self._loadavg = [float(la[0]), float(la[1]), float(la[2])]
+ except (subprocess.CalledProcessError, OSError):
+ pass
+
+ try:
s = subprocess.check_output(['vmstat', '-H'])
lines = s.decode('utf-8').split('\n')
v = re.split('\s+', lines[2])
diff --git a/src/lib/python/isc/sysinfo/tests/sysinfo_test.py b/src/lib/python/isc/sysinfo/tests/sysinfo_test.py
index 1362189..5b47a32 100644
--- a/src/lib/python/isc/sysinfo/tests/sysinfo_test.py
+++ b/src/lib/python/isc/sysinfo/tests/sysinfo_test.py
@@ -102,9 +102,9 @@ def _my_openbsd_subprocess_check_output(command):
elif command == ['sysctl', '-n', 'kern.boottime']:
return bytes(str(int(time.time() - 76632)), 'utf-8')
elif command == ['sysctl', '-n', 'vm.loadavg']:
- return b'0.7 0.9 0.8'
+ return b'0.7 0.9 0.8\n'
elif command == ['sysctl', '-n', 'hw.physmem']:
- return b'543214321'
+ return b'543214321\n'
elif command == ['vmstat']:
return b' procs memory page disks traps cpu\n r b w avm fre flt re pi po fr sr wd0 cd0 int sys cs us sy id\n 0 0 0 121212 123456 47 0 0 0 0 0 2 0 2 80 14 0 1 99\n'
elif command == ['swapctl', '-s', '-k']:
@@ -135,9 +135,9 @@ def _my_freebsd_subprocess_check_output(command):
elif command == ['sysctl', '-n', 'kern.boottime']:
return bytes('{ sec = ' + str(int(time.time() - 76632)) + ', usec = 0 }\n', 'utf-8')
elif command == ['sysctl', '-n', 'vm.loadavg']:
- return b'0.2 0.4 0.6'
+ return b'{ 0.2 0.4 0.6 }\n'
elif command == ['sysctl', '-n', 'hw.physmem']:
- return b'987654321'
+ return b'987654321\n'
elif command == ['vmstat', '-H']:
return b' procs memory page disks traps cpu\n r b w avm fre flt re pi po fr sr wd0 cd0 int sys cs us sy id\n 0 0 0 343434 123456 47 0 0 0 0 0 2 0 2 80 14 0 1 99\n'
elif command == ['swapctl', '-s', '-k']:
More information about the bind10-changes
mailing list