1 # -*- coding: utf-8 -*-
2 # Description: cpufreq netdata python.d plugin
3 # Author: Pawel Krupa (paulfantom)
5 from base import SysFileService
7 # default module values (can be overridden per job in `config`)
14 'options': [None, 'CPU Clock', 'MHz', 'cpufreq', None, 'line'],
16 # lines are created dynamically in `check()` method
21 class Service(SysFileService):
22 def __init__(self, configuration=None, name=None):
23 SysFileService.__init__(self, configuration=configuration, name=name)
25 self.definitions = CHARTS
29 self._orig_name = self.chart_name
30 self.paths = self._find("scaling_cur_freq")
32 if len(self.paths) == 0:
37 for path in self.paths:
38 self.assignment[path] = "cpu" + str(i)
41 for name in self.assignment:
42 dim = self.assignment[name]
43 self.definitions[ORDER[0]]['lines'].append([dim, dim, 'absolute', 1, 1000])
48 self.chart_name = "cpu"
49 status = SysFileService.create(self)
50 self.chart_name = self._orig_name
53 def update(self, interval):
54 self.chart_name = "cpu"
55 status = SysFileService.update(self, interval=interval)
56 self.chart_name = self._orig_name