Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
dafe7a60
Commit
dafe7a60
authored
May 12, 2011
by
Naoki Kambe
Browse files
Merge branch 'trac719'
Conflicts: ChangeLog
parents
ff36bea0
43db6eac
Changes
12
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
dafe7a60
236. [bug] naokikambe
Resolved that the stats module wasn't configurable in bindctl in
spite of its having configuration items. The configuration part
was removed from the original spec file "stats.spec" and was
placed in a new spec file "stats-schema.spec". Because it means
definitions of statistics items. The command part is still
there. Thus stats module currently has no its own configuration,
and the items in "stats-schema.spec" are neither visible nor
configurable through bindctl. "stats-schema.spec" is shared with
stats module and stats-httpd module, and maybe with other
statistical modules in future. "stats.spec" has own configuration
and commands of stats module, if it requires.
(Trac#719, git xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
235. [func] jinmei
libdns++: added support for TSIG signing and verification. It can
be done using a newly introduced TSIGContext class.
...
...
configure.ac
View file @
dafe7a60
...
...
@@ -807,6 +807,7 @@ AC_OUTPUT([doc/version.ent
src/bin/stats/stats.py
src/bin/stats/stats_httpd.py
src/bin/stats/stats.spec
src/bin/stats/stats-schema.spec
src/bin/stats/stats-httpd.spec
src/bin/stats/stats-httpd-xml.tpl
src/bin/stats/stats-httpd-xsd.tpl
...
...
src/bin/stats/Makefile.am
View file @
dafe7a60
...
...
@@ -5,7 +5,7 @@ pkglibexecdir = $(libexecdir)/@PACKAGE@
pkglibexec_SCRIPTS
=
b10-stats b10-stats-httpd
b10_statsdir
=
$(pkgdatadir)
b10_stats_DATA
=
stats.spec stats-httpd.spec
b10_stats_DATA
=
stats.spec stats-httpd.spec
stats-schema.spec
b10_stats_DATA
+=
stats-httpd-xml.tpl stats-httpd-xsd.tpl stats-httpd-xsl.tpl
CLEANFILES
=
b10-stats stats.pyc
...
...
@@ -13,7 +13,7 @@ CLEANFILES += b10-stats-httpd stats_httpd.pyc
man_MANS
=
b10-stats.8 b10-stats-httpd.8
EXTRA_DIST
=
$(man_MANS)
b10-stats.xml b10-stats-httpd.xml
EXTRA_DIST
+=
stats.spec stats-httpd.spec
EXTRA_DIST
+=
stats.spec stats-httpd.spec
stats-schema.spec
EXTRA_DIST
+=
stats-httpd-xml.tpl stats-httpd-xsd.tpl stats-httpd-xsl.tpl
if
ENABLE_MAN
...
...
@@ -28,8 +28,7 @@ endif
# this is done here since configure.ac AC_OUTPUT doesn't expand exec_prefix
b10-stats
:
stats.py
$(SED)
-e
"s|@@PYTHONPATH@@|@pyexecdir@|"
\
-e
"s|.*#@@REMOVED@@
$$
||"
stats.py
>
$@
$(SED)
-e
"s|@@PYTHONPATH@@|@pyexecdir@|"
stats.py
>
$@
chmod
a+x
$@
b10-stats-httpd
:
stats_httpd.py
...
...
src/bin/stats/b10-stats-httpd.8
View file @
dafe7a60
...
...
@@ -66,6 +66,10 @@ bindctl(1)\&. Please see the manual of
bindctl(1)
about how to configure the settings\&.
.PP
/usr/local/share/bind10\-devel/stats\-schema\&.spec
\(em This is a spec file for data schema of of BIND 10 statistics\&. This schema cannot be configured via
bindctl(1)\&.
.PP
/usr/local/share/bind10\-devel/stats\-httpd\-xml\&.tpl
\(em the template file of XML document\&.
...
...
src/bin/stats/b10-stats-httpd.xml
View file @
dafe7a60
...
...
@@ -112,6 +112,12 @@
of
<refentrytitle>
bindctl
</refentrytitle><manvolnum>
1
</manvolnum>
about
how to configure the settings.
</para>
<para><filename>
/usr/local/share/bind10-devel/stats-schema.spec
</filename>
<!--TODO: The filename should be computed from prefix-->
—
This is a spec file for data schema of
of BIND 10 statistics. This schema cannot be configured
via
<refentrytitle>
bindctl
</refentrytitle><manvolnum>
1
</manvolnum>
.
</para>
<para>
<filename>
/usr/local/share/bind10-devel/stats-httpd-xml.tpl
</filename>
<!--TODO: The filename should be computed from prefix-->
...
...
src/bin/stats/b10-stats.8
View file @
dafe7a60
...
...
@@ -63,11 +63,17 @@ switches to verbose mode\&. It sends verbose messages to STDOUT\&.
.PP
/usr/local/share/bind10\-devel/stats\&.spec
\(em This is a spec file for
\fBb10\-stats\fR\&. It contains definitions of statistics items of BIND 10 and commands received via
\fBb10\-stats\fR\&. It contains commands for
\fBb10\-stats\fR\&. They can be invoked via
bindctl(1)\&.
.PP
/usr/local/share/bind10\-devel/stats\-schema\&.spec
\(em This is a spec file for data schema of of BIND 10 statistics\&. This schema cannot be configured via
bindctl(1)\&.
.SH "SEE ALSO"
.PP
\fBb10-stats-httpd\fR(8),
\fBbind10\fR(8),
\fBbindctl\fR(1),
\fBb10-auth\fR(8),
...
...
src/bin/stats/b10-stats.xml
View file @
dafe7a60
...
...
@@ -89,16 +89,26 @@
<refsect1>
<title>
FILES
</title>
<para><filename>
/usr/local/share/bind10-devel/stats.spec
</filename>
<!--TODO: The filename should be computed from prefix-->
—
This is a spec file for
<command>
b10-stats
</command>
. It
contains definitions of statistics items of BIND 10 and commands
received via
<refentrytitle>
bindctl
</refentrytitle><manvolnum>
1
</manvolnum>
.
contains commands for
<command>
b10-stats
</command>
. They can be
invoked
via
<refentrytitle>
bindctl
</refentrytitle><manvolnum>
1
</manvolnum>
.
</para>
<para><filename>
/usr/local/share/bind10-devel/stats-schema.spec
</filename>
<!--TODO: The filename should be computed from prefix-->
—
This is a spec file for data schema of
of BIND 10 statistics. This schema cannot be configured
via
<refentrytitle>
bindctl
</refentrytitle><manvolnum>
1
</manvolnum>
.
</para>
</refsect1>
<refsect1>
<title>
SEE ALSO
</title>
<para>
<citerefentry>
<refentrytitle>
b10-stats-httpd
</refentrytitle><manvolnum>
8
</manvolnum>
</citerefentry>
,
<citerefentry>
<refentrytitle>
bind10
</refentrytitle><manvolnum>
8
</manvolnum>
</citerefentry>
,
...
...
src/bin/stats/stats-schema.spec.in
0 → 100644
View file @
dafe7a60
{
"module_spec": {
"module_name": "Stats",
"module_description": "Statistics data schema",
"config_data": [
{
"item_name": "report_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "Report time",
"item_description": "A date time when stats module reports",
"item_format": "date-time"
},
{
"item_name": "bind10.boot_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "bind10.BootTime",
"item_description": "A date time when bind10 process starts initially",
"item_format": "date-time"
},
{
"item_name": "stats.boot_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "stats.BootTime",
"item_description": "A date time when the stats module starts initially or when the stats module restarts",
"item_format": "date-time"
},
{
"item_name": "stats.start_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "stats.StartTime",
"item_description": "A date time when the stats module starts collecting data or resetting values last time",
"item_format": "date-time"
},
{
"item_name": "stats.last_update_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "stats.LastUpdateTime",
"item_description": "The latest date time when the stats module receives from other modules like auth server or boss process and so on",
"item_format": "date-time"
},
{
"item_name": "stats.timestamp",
"item_type": "real",
"item_optional": false,
"item_default": 0.0,
"item_title": "stats.Timestamp",
"item_description": "A current time stamp since epoch time (1970-01-01T00:00:00Z)",
"item_format": "second"
},
{
"item_name": "stats.lname",
"item_type": "string",
"item_optional": false,
"item_default": "",
"item_title": "stats.LocalName",
"item_description": "A localname of stats module given via CC protocol"
},
{
"item_name": "auth.queries.tcp",
"item_type": "integer",
"item_optional": false,
"item_default": 0,
"item_title": "auth.queries.tcp",
"item_description": "A number of total query counts which all auth servers receive over TCP since they started initially"
},
{
"item_name": "auth.queries.udp",
"item_type": "integer",
"item_optional": false,
"item_default": 0,
"item_title": "auth.queries.udp",
"item_description": "A number of total query counts which all auth servers receive over UDP since they started initially"
}
],
"commands": []
}
}
src/bin/stats/stats.py.in
View file @
dafe7a60
...
...
@@ -24,12 +24,6 @@ from optparse import OptionParser, OptionValueError
from collections import defaultdict
from isc.config.ccsession import ModuleCCSession, create_answer
from isc.cc import Session, SessionError
# Note: Following lines are removed in b10-stats #@@REMOVED@@
if __name__ == 'stats': #@@REMOVED@@
try: #@@REMOVED@@
from fake_time import time, strftime, gmtime #@@REMOVED@@
except ImportError: #@@REMOVED@@
pass #@@REMOVED@@
# for setproctitle
import isc.util.process
...
...
@@ -39,13 +33,15 @@ isc.util.process.rename()
# from a directory relative to that, otherwise we use the ones
# installed on the system
if "B10_FROM_SOURCE" in os.environ:
SPECFIL
E_LOCATION = os.environ["B10_FROM_SOURCE"] + os.sep + \
"src" + os.sep + "bin" + os.sep + "stats"
+ os.sep + "stats.spec"
BAS
E_LOCATION = os.environ["B10_FROM_SOURCE"] + os.sep + \
"src" + os.sep + "bin" + os.sep + "stats"
else:
PREFIX = "@prefix@"
DATAROOTDIR = "@datarootdir@"
SPECFILE_LOCATION = "@datadir@" + os.sep + "@PACKAGE@" + os.sep + "stats.spec"
SPECFILE_LOCATION = SPECFILE_LOCATION.replace("${datarootdir}", DATAROOTDIR).replace("${prefix}", PREFIX)
BASE_LOCATION = "@datadir@" + os.sep + "@PACKAGE@"
BASE_LOCATION = BASE_LOCATION.replace("${datarootdir}", DATAROOTDIR).replace("${prefix}", PREFIX)
SPECFILE_LOCATION = BASE_LOCATION + os.sep + "stats.spec"
SCHEMA_SPECFILE_LOCATION = BASE_LOCATION + os.sep + "stats-schema.spec"
class Singleton(type):
"""
...
...
@@ -184,8 +180,7 @@ class CCSessionListener(Listener):
self.session = self.subject.session = self.cc_session._session
# initialize internal data
self.config_spec = self.cc_session.get_module_spec().get_config_spec()
self.stats_spec = self.config_spec
self.stats_spec = isc.config.module_spec_from_file(SCHEMA_SPECFILE_LOCATION).get_config_spec()
self.stats_data = self.initialize_data(self.stats_spec)
# add event handler invoked via SessionSubject object
...
...
src/bin/stats/stats.spec.in
View file @
dafe7a60
...
...
@@ -2,86 +2,7 @@
"module_spec": {
"module_name": "Stats",
"module_description": "Stats daemon",
"config_data": [
{
"item_name": "report_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "Report time",
"item_description": "A date time when stats module reports",
"item_format": "date-time"
},
{
"item_name": "bind10.boot_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "bind10.BootTime",
"item_description": "A date time when bind10 process starts initially",
"item_format": "date-time"
},
{
"item_name": "stats.boot_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "stats.BootTime",
"item_description": "A date time when the stats module starts initially or when the stats module restarts",
"item_format": "date-time"
},
{
"item_name": "stats.start_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "stats.StartTime",
"item_description": "A date time when the stats module starts collecting data or resetting values last time",
"item_format": "date-time"
},
{
"item_name": "stats.last_update_time",
"item_type": "string",
"item_optional": false,
"item_default": "1970-01-01T00:00:00Z",
"item_title": "stats.LastUpdateTime",
"item_description": "The latest date time when the stats module receives from other modules like auth server or boss process and so on",
"item_format": "date-time"
},
{
"item_name": "stats.timestamp",
"item_type": "real",
"item_optional": false,
"item_default": 0.0,
"item_title": "stats.Timestamp",
"item_description": "A current time stamp since epoch time (1970-01-01T00:00:00Z)",
"item_format": "second"
},
{
"item_name": "stats.lname",
"item_type": "string",
"item_optional": false,
"item_default": "",
"item_title": "stats.LocalName",
"item_description": "A localname of stats module given via CC protocol"
},
{
"item_name": "auth.queries.tcp",
"item_type": "integer",
"item_optional": false,
"item_default": 0,
"item_title": "auth.queries.tcp",
"item_description": "A number of total query counts which all auth servers receive over TCP since they started initially"
},
{
"item_name": "auth.queries.udp",
"item_type": "integer",
"item_optional": false,
"item_default": 0,
"item_title": "auth.queries.udp",
"item_description": "A number of total query counts which all auth servers receive over UDP since they started initially"
}
],
"config_data": [],
"commands": [
{
"command_name": "status",
...
...
src/bin/stats/stats_httpd.py.in
View file @
dafe7a60
...
...
@@ -46,7 +46,7 @@ else:
BASE_LOCATION = "@datadir@" + os.sep + "@PACKAGE@"
BASE_LOCATION = BASE_LOCATION.replace("${datarootdir}", DATAROOTDIR).replace("${prefix}", PREFIX)
SPECFILE_LOCATION = BASE_LOCATION + os.sep + "stats-httpd.spec"
S
TATS
_SPECFILE_LOCATION = BASE_LOCATION + os.sep + "stats.spec"
S
CHEMA
_SPECFILE_LOCATION = BASE_LOCATION + os.sep + "stats
-schema
.spec"
XML_TEMPLATE_LOCATION = BASE_LOCATION + os.sep + "stats-httpd-xml.tpl"
XSD_TEMPLATE_LOCATION = BASE_LOCATION + os.sep + "stats-httpd-xsd.tpl"
XSL_TEMPLATE_LOCATION = BASE_LOCATION + os.sep + "stats-httpd-xsl.tpl"
...
...
@@ -175,7 +175,7 @@ class StatsHttpd:
SPECFILE_LOCATION, self.config_handler, self.command_handler)
self.cc_session = self.mccs._session
# read spec file of stats module and subscribe 'Stats'
self.stats_module_spec = isc.config.module_spec_from_file(S
TATS
_SPECFILE_LOCATION)
self.stats_module_spec = isc.config.module_spec_from_file(S
CHEMA
_SPECFILE_LOCATION)
self.stats_config_spec = self.stats_module_spec.get_config_spec()
self.stats_module_name = self.stats_module_spec.get_module_name()
...
...
src/bin/stats/tests/b10-stats_test.py
View file @
dafe7a60
...
...
@@ -23,7 +23,11 @@ import unittest
import
imp
from
isc.cc.session
import
Session
,
SessionError
from
isc.config.ccsession
import
ModuleCCSession
,
ModuleCCSessionError
from
fake_time
import
time
,
strftime
,
gmtime
import
stats
stats
.
time
=
time
stats
.
strftime
=
strftime
stats
.
gmtime
=
gmtime
from
stats
import
SessionSubject
,
CCSessionListener
,
get_timestamp
,
get_datetime
from
fake_time
import
_TEST_TIME_SECS
,
_TEST_TIME_STRF
...
...
@@ -540,9 +544,14 @@ class TestStats2(unittest.TestCase):
os
.
environ
[
"B10_FROM_SOURCE"
]
+
os
.
sep
+
\
"src"
+
os
.
sep
+
"bin"
+
os
.
sep
+
"stats"
+
\
os
.
sep
+
"stats.spec"
)
self
.
assertEqual
(
stats
.
SCHEMA_SPECFILE_LOCATION
,
os
.
environ
[
"B10_FROM_SOURCE"
]
+
os
.
sep
+
\
"src"
+
os
.
sep
+
"bin"
+
os
.
sep
+
"stats"
+
\
os
.
sep
+
"stats-schema.spec"
)
imp
.
reload
(
stats
)
# change path of SPECFILE_LOCATION
stats
.
SPECFILE_LOCATION
=
TEST_SPECFILE_LOCATION
stats
.
SCHEMA_SPECFILE_LOCATION
=
TEST_SPECFILE_LOCATION
self
.
assertEqual
(
stats
.
SPECFILE_LOCATION
,
TEST_SPECFILE_LOCATION
)
self
.
subject
=
stats
.
SessionSubject
(
session
=
self
.
session
,
verbose
=
True
)
self
.
session
=
self
.
subject
.
session
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment