@cryptotaxi247 / netdata-1 / commits / 92b445a29

resolves #602

paulfantom committed Jun 23, 2016 at 12:48 UTC 92b445a29c38ea16a24094e3d3c50aaff1e1787e
2 files changed +17
plugins.d/python.d.plugin
+12
@@ -312,14 +312,26 @@ class PythonCharts(object):
312 If job.check() fails job is stopped
313 """
314 i = 0
315 + overridden = []
316 while i < len(self.jobs):
317 job = self.jobs[i]
318 + if job.name in overridden:
319 + self._stop(job)
320 + msg.error(job.name + " already exists")
321 try:
322 if not job.check():
323 self._stop(job, "failed check")
324 else:
325 msg.debug(job.chart_name, ": check succeeded")
326 i += 1
327 + try:
328 + if job.override_name is not None:
329 + job.name = job.override_name
330 + msg.debug(job.chart_name + " changing chart name to: " + job.__module__ + job.name)
331 + job.chart_name = job.__module__ + job.name
332 + overridden.append(job.name)
333 + except Exception:
334 + pass
335 except AttributeError:
336 self._stop(job, "no check")
337 except (UnboundLocalError, Exception) as e:
python.d/python_modules/base.py
+5
@@ -33,6 +33,7 @@ class BaseService(threading.Thread):
33 self.priority = 140000
34 self.update_every = 1
35 self.name = name
36 + self.override_name = None
37 if configuration is None:
38 self.error("BaseService: no configuration parameters supplied. Cannot create Service.")
39 raise RuntimeError
@@ -51,6 +52,10 @@ class BaseService(threading.Thread):
52 'retries':0}
53 :param config: dict
54 """
55 + try:
56 + self.override_name = config.pop('override_name')
57 + except KeyError:
58 + pass
59 self.update_every = int(config.pop('update_every'))
60 self.priority = int(config.pop('priority'))
61 self.retries = int(config.pop('retries'))