[svn] commit: r3218 - in /trunk: ./ src/bin/ src/bin/bind10/ src/bin/stats/ src/bin/stats/test/ src/bin/stats/tests/ src/lib/python/isc/config/
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Oct 15 06:34:34 UTC 2010
Author: naokikambe
Date: Fri Oct 15 06:34:33 2010
New Revision: 3218
Log:
- merge trac #191 (Implement a initial version of stats)
- remove obsoleted stats files
Added:
trunk/src/bin/stats/Makefile.am
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/Makefile.am
trunk/src/bin/stats/b10-stats.8
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/b10-stats.8
trunk/src/bin/stats/b10-stats.xml
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/b10-stats.xml
trunk/src/bin/stats/run_b10-stats.sh.in
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/run_b10-stats.sh.in
trunk/src/bin/stats/run_b10-stats_stub.sh.in
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/run_b10-stats_stub.sh.in
trunk/src/bin/stats/stats.py.in
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/stats.py.in
trunk/src/bin/stats/stats.spec.pre.in
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/stats.spec.pre.in
trunk/src/bin/stats/stats_stub.py.in
- copied unchanged from r3217, branches/trac191-rebased/src/bin/stats/stats_stub.py.in
trunk/src/bin/stats/tests/
- copied from r3217, branches/trac191-rebased/src/bin/stats/tests/
Removed:
trunk/src/bin/stats/statsd.py
trunk/src/bin/stats/statsd.txt
trunk/src/bin/stats/test/
trunk/src/bin/stats/test_total.py
Modified:
trunk/ChangeLog
trunk/configure.ac
trunk/src/bin/Makefile.am
trunk/src/bin/bind10/bind10.py.in
trunk/src/bin/bind10/run_bind10.sh.in
trunk/src/lib/python/isc/config/module_spec.py
Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog (original)
+++ trunk/ChangeLog Fri Oct 15 06:34:33 2010
@@ -1,3 +1,10 @@
+ 109. [func] naokikambe
+ Added the initial version of the stats module for the statistics
+ feature of BIND 10, which supports the restricted features and
+ items and reports via bindctl command (Trac #191, rXXXX)
+ Added the document of the stats module, which is about how stats
+ module collects the data (Trac #170, [wiki:StatsModule])
+
108. [func] jerry
src/bin/zonemgr: Provide customizable configurations for
lowerbound_refresh, lowerbound_retry, max_transfer_timeout and
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Oct 15 06:34:33 2010
@@ -471,6 +471,8 @@
src/bin/xfrout/tests/Makefile
src/bin/zonemgr/Makefile
src/bin/zonemgr/tests/Makefile
+ src/bin/stats/Makefile
+ src/bin/stats/tests/Makefile
src/bin/usermgr/Makefile
src/bin/tests/Makefile
src/lib/Makefile
@@ -523,6 +525,12 @@
src/bin/zonemgr/zonemgr.spec.pre
src/bin/zonemgr/tests/zonemgr_test
src/bin/zonemgr/run_b10-zonemgr.sh
+ src/bin/stats/stats.py
+ src/bin/stats/stats_stub.py
+ src/bin/stats/stats.spec.pre
+ src/bin/stats/run_b10-stats.sh
+ src/bin/stats/run_b10-stats_stub.sh
+ src/bin/stats/tests/stats_test
src/bin/bind10/bind10.py
src/bin/bind10/tests/bind10_test
src/bin/bind10/run_bind10.sh
@@ -556,6 +564,9 @@
chmod +x src/bin/xfrin/run_b10-xfrin.sh
chmod +x src/bin/xfrout/run_b10-xfrout.sh
chmod +x src/bin/zonemgr/run_b10-zonemgr.sh
+ chmod +x src/bin/stats/tests/stats_test
+ chmod +x src/bin/stats/run_b10-stats.sh
+ chmod +x src/bin/stats/run_b10-stats_stub.sh
chmod +x src/bin/bind10/run_bind10.sh
chmod +x src/bin/cmdctl/tests/cmdctl_test
chmod +x src/bin/xfrin/tests/xfrin_test
Modified: trunk/src/bin/Makefile.am
==============================================================================
--- trunk/src/bin/Makefile.am (original)
+++ trunk/src/bin/Makefile.am Fri Oct 15 06:34:33 2010
@@ -1,4 +1,4 @@
SUBDIRS = bind10 bindctl cfgmgr loadzone msgq host cmdctl auth xfrin xfrout \
- usermgr zonemgr tests
+ usermgr zonemgr stats tests
check-recursive: all-recursive
Modified: trunk/src/bin/bind10/bind10.py.in
==============================================================================
--- trunk/src/bin/bind10/bind10.py.in (original)
+++ trunk/src/bin/bind10/bind10.py.in Fri Oct 15 06:34:33 2010
@@ -72,6 +72,9 @@
# The VERSION string consists of the module name, the module version
# number, and the overall BIND 10 version number (set in configure.ac).
VERSION = "bind10 20100916 (BIND 10 @PACKAGE_VERSION@)"
+
+# This is for bind10.boottime of stats module
+_BASETIME = time.gmtime()
class RestartSchedule:
"""
@@ -424,6 +427,27 @@
sys.stdout.write("[bind10] Started b10-zonemgr(PID %d)\n" %
zonemgr.pid)
+ # start b10-stats
+ stats_args = ['b10-stats']
+ if self.verbose:
+ sys.stdout.write("[bind10] Starting b10-stats\n")
+ stats_args += ['-v']
+ try:
+ statsd = ProcessInfo("b10-stats", stats_args,
+ c_channel_env)
+ except Exception as e:
+ c_channel.process.kill()
+ bind_cfgd.process.kill()
+ xfrout.process.kill()
+ auth.process.kill()
+ xfrind.process.kill()
+ zonemgr.process.kill()
+ return "Unable to start b10-stats; " + str(e)
+
+ self.processes[statsd.pid] = statsd
+ if self.verbose:
+ sys.stdout.write("[bind10] Started b10-stats (PID %d)\n" % statsd.pid)
+
# start the b10-cmdctl
# XXX: we hardcode port 8080
cmdctl_args = ['b10-cmdctl']
@@ -440,6 +464,7 @@
auth.process.kill()
xfrind.process.kill()
zonemgr.process.kill()
+ statsd.process.kill()
return "Unable to start b10-cmdctl; " + str(e)
self.processes[cmd_ctrld.pid] = cmd_ctrld
if self.verbose:
@@ -459,6 +484,7 @@
self.cc_session.group_sendmsg(cmd, "Boss", "Xfrout")
self.cc_session.group_sendmsg(cmd, "Boss", "Xfrin")
self.cc_session.group_sendmsg(cmd, "Boss", "Zonemgr")
+ self.cc_session.group_sendmsg(cmd, "Boss", "Stats")
def stop_process(self, process):
"""Stop the given process, friendly-like."""
@@ -723,6 +749,17 @@
sys.exit(1)
sys.stdout.write("[bind10] BIND 10 started\n")
+ # send "bind10.boot_time" to b10-stats
+ time.sleep(1) # wait a second
+ if options.verbose:
+ sys.stdout.write("[bind10] send \"bind10.boot_time\" to b10-stats\n")
+ cmd = isc.config.ccsession.create_command('set',
+ { "stats_data": {
+ 'bind10.boot_time': time.strftime('%Y-%m-%dT%H:%M:%SZ', _BASETIME)
+ }
+ })
+ boss_of_bind.cc_session.group_sendmsg(cmd, 'Stats')
+
# In our main loop, we check for dead processes or messages
# on the c-channel.
wakeup_fd = wakeup_pipe[0]
Modified: trunk/src/bin/bind10/run_bind10.sh.in
==============================================================================
--- trunk/src/bin/bind10/run_bind10.sh.in (original)
+++ trunk/src/bin/bind10/run_bind10.sh.in Fri Oct 15 06:34:33 2010
@@ -20,7 +20,7 @@
BIND10_PATH=@abs_top_builddir@/src/bin/bind10
-PATH=@abs_top_builddir@/src/bin/msgq:@abs_top_builddir@/src/bin/auth:@abs_top_builddir@/src/bin/cfgmgr:@abs_top_builddir@/src/bin/cmdctl:@abs_top_builddir@/src/bin/xfrin:@abs_top_builddir@/src/bin/xfrout:@abs_top_builddir@/src/bin/zonemgr:$PATH
+PATH=@abs_top_builddir@/src/bin/msgq:@abs_top_builddir@/src/bin/auth:@abs_top_builddir@/src/bin/cfgmgr:@abs_top_builddir@/src/bin/cmdctl:@abs_top_builddir@/src/bin/stats:@abs_top_builddir@/src/bin/xfrin:@abs_top_builddir@/src/bin/xfrout:@abs_top_builddir@/src/bin/zonemgr:$PATH
export PATH
PYTHONPATH=@abs_top_builddir@/src/lib/python:@abs_top_builddir@/src/lib/dns/python/.libs:@abs_top_builddir@/src/lib/xfr/.libs
Modified: trunk/src/lib/python/isc/config/module_spec.py
==============================================================================
--- trunk/src/lib/python/isc/config/module_spec.py (original)
+++ trunk/src/lib/python/isc/config/module_spec.py Fri Oct 15 06:34:33 2010
@@ -316,7 +316,9 @@
item_name = spec['item_name']
item_optional = spec['item_optional']
- if item_name in data:
+ if not data and item_optional:
+ return True
+ elif item_name in data:
return _validate_item(spec, full, data[item_name], errors)
elif full and not item_optional:
if errors != None:
More information about the bind10-changes
mailing list