1 # Description: base for netdata python.d plugins
2 # Author: Pawel Krupa (paulfantom)
8 class BaseService(object):
9 def __init__(self,name=None,configuration=None):
11 if configuration is None:
12 self.error("BaseService: no configuration parameters supplied. Cannot create Service.")
15 self._extract_base_config(configuration)
16 self._create_timetable()
17 self.execution_name = ""
19 def _extract_base_config(self,config):
20 self.update_every = int(config['update_every'])
21 self.priority = int(config['priority'])
22 self.retries = int(config['retries'])
23 self.retries_left = self.retries
25 def _create_timetable(self):
27 self.timetable = {'last' : now,
28 'next' : now - (now % self.update_every) + self.update_every,
29 'freq' : self.update_every}
32 def error(self, msg, exception=""):
34 exception = " " + str(exception).replace("\n"," ")
35 sys.stderr.write(str(msg)+exception+"\n")
39 # TODO notify about not overriden function
40 self.error("Where is your check()?")
44 # TODO notify about not overriden function
45 self.error("Where is your create()?")
49 # TODO notify about not overriden function
50 self.error("Where is your update()?")