From: Naoki Kambe Date: Thu, 22 Nov 2012 04:34:18 +0000 (+0900) Subject: [2225_statistics] add _parse_stats_spec() to get each list of names on statistics... X-Git-Tag: bind10-1.1.0beta1-release~72^2~40^2~78 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=889dc09ad441f3e5a3ce2170fba402db258c2a08;p=thirdparty%2Fkea.git [2225_statistics] add _parse_stats_spec() to get each list of names on statistics spec --- diff --git a/src/lib/python/isc/statistics/counter.py b/src/lib/python/isc/statistics/counter.py index 01963ec7fa..cc833b8211 100644 --- a/src/lib/python/isc/statistics/counter.py +++ b/src/lib/python/isc/statistics/counter.py @@ -235,10 +235,25 @@ class _Counter(): self._disabled = False self._rlock = threading.RLock() self._statistics_spec = module_spec.get_statistics_spec() - self._zones_item_list = isc.config.spec_name_list( - isc.config.find_spec_part( - self._statistics_spec, self._perzone_prefix)\ - ['named_set_item_spec']['map_item_spec']) + self._parse_stats_spec() + self._create_perzone_functors() + self._create_perzone_timer_functors() + self._create_xfrrunning_functors() + self._create_unixsocket_functors() + self._create_ipsocket_functors() + self._to_global['clear_counters'] = self.clear_counters + self._to_global['disable'] = self.disable + self._to_global['enable'] = self.enable + self._to_global['dump_statistics'] = self.dump_statistics + + def _parse_stats_spec(self): + """Gets each list of names on statistics spec""" + if self._perzone_prefix in \ + isc.config.spec_name_list(self._statistics_spec): + self._zones_item_list = isc.config.spec_name_list( + isc.config.find_spec_part( + self._statistics_spec, self._perzone_prefix)\ + ['named_set_item_spec']['map_item_spec']) self._xfrrunning_names = [ n for n in isc.config.spec_name_list\ (self._statistics_spec) \ @@ -256,15 +271,6 @@ class _Counter(): self._statistics_spec, "", True) \ if n.find('socket/ipv4/tcp/') == 0 \ or n.find('socket/ipv6/tcp/') == 0 ] - self._create_perzone_functors() - self._create_perzone_timer_functors() - self._create_xfrrunning_functors() - self._create_unixsocket_functors() - self._create_ipsocket_functors() - self._to_global['clear_counters'] = self.clear_counters - self._to_global['disable'] = self.disable - self._to_global['enable'] = self.enable - self._to_global['dump_statistics'] = self.dump_statistics def clear_counters(self): """clears all statistics data"""