@cryptotaxi247 / netdata-1 / commits / 4c5587b8d

Modify according PR comments

Always find new peers when peers dict() is empty. Do not check `peer_rescan` config, assume that the user reads the description. Module will push charts to netdata (create) only if charts have any data after update.

Sven Mäder committed Feb 20, 2018 at 13:33 UTC 4c5587b8d56c90077826ec8e10d6576d2cc65446
2 files changed +11 -20
conf.d/python.d/ntpd.conf
+2 -1
@@ -62,7 +62,8 @@
62 # peer_filter: '127\..*' # regex to exclude peers
63 # # by default local peers are hidden
64 # # use `''` to show all peers.
65 -# peer_rescan: 60 # interval to check for new/changed peers
65 +# peer_rescan: 60 # interval (>0) to check for new/changed peers
66 +# # use `1` to check on every update
67 #
68 # ----------------------------------------------------------------------
69 # AUTO-DETECTION JOBS
python.d/ntpd.chart.py
+9 -19
@@ -12,7 +12,6 @@ from bases.FrameworkServices.SocketService import SocketService
12 update_every = 1
13 priority = 60000
14 retries = 60
15 -peer_rescan = 60
15
16 # NTP Control Message Protocol constants
17 MODE = 6
@@ -226,6 +225,7 @@ class Service(SocketService):
225 SocketService.__init__(self, configuration=configuration, name=name)
226 self.order = list(ORDER)
227 self.definitions = dict(CHARTS)
228 + self.definitions.update(PEER_CHARTS)
229
230 self.port = 'ntp'
231 self.dgram_socket = True
@@ -234,6 +234,7 @@ class Service(SocketService):
234 self.request = str()
235 self.retries = 0
236 self.show_peers = self.configuration.get('show_peers', False)
237 + self.peer_rescan = self.configuration.get('peer_rescan', 60)
238
239 def check(self):
240 """
@@ -242,23 +243,12 @@ class Service(SocketService):
243 """
244 self._parse_config()
245
245 - if self.show_peers:
246 - self.definitions.update(PEER_CHARTS)
247 -
248 - peer_filter = self.configuration.get('peer_filter', r'127\..*')
249 - try:
250 - self.peer_filter = re.compile(r'^((0\.0\.0\.0)|({0}))$'.format(peer_filter))
251 - except re.error as error:
252 - self.error('Compile pattern error (peer_filter) : {0}'.format(error))
253 - return None
254 -
255 - try:
256 - self.peer_rescan = int(self.configuration.get('peer_rescan', peer_rescan))
257 - if self.peer_rescan <= 0:
258 - raise ValueError('int > 0 expected: {0}'.format(self.peer_rescan))
259 - except ValueError as error:
260 - self.error('Value error (peer_rescan) : {0}'.format(error))
261 - return None
246 + peer_filter = self.configuration.get('peer_filter', r'127\..*')
247 + try:
248 + self.peer_filter = re.compile(r'^((0\.0\.0\.0)|({0}))$'.format(peer_filter))
249 + except re.error as error:
250 + self.error('Compile pattern error (peer_filter) : {0}'.format(error))
251 + return None
252
253 self.request = self.system.request
254 raw_systemvars = self._get_raw_data()
@@ -285,7 +275,7 @@ class Service(SocketService):
275 if not self.show_peers:
276 return data
277
288 - if self.runs_counter == 1 or self.runs_counter % self.peer_rescan or self.retries > 8:
278 + if not self.peers or self.runs_counter % self.peer_rescan == 0 or self.retries > 8:
279 self.find_new_peers()
280
281 for peer in self.peers.values():