0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-05-13 21:22:08 +00:00
netdata_netdata/python.d/cpufreq.chart.py
2016-07-07 00:47:37 +02:00

57 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
# Description: cpufreq netdata python.d plugin
# Author: Pawel Krupa (paulfantom)
from base import SysFileService
# default module values (can be overridden per job in `config`)
# update_every = 2
ORDER = ['cpufreq']
CHARTS = {
'cpufreq': {
'options': [None, 'CPU Clock', 'MHz', 'cpufreq', None, 'line'],
'lines': [
# lines are created dynamically in `check()` method
]}
}
class Service(SysFileService):
def __init__(self, configuration=None, name=None):
SysFileService.__init__(self, configuration=configuration, name=name)
self.order = ORDER
self.definitions = CHARTS
self._orig_name = ""
def check(self):
self._orig_name = self.chart_name
self.paths = self._find("scaling_cur_freq")
if len(self.paths) == 0:
return False
self.paths.sort()
i = 0
for path in self.paths:
self.assignment[path] = "cpu" + str(i)
i += 1
for name in self.assignment:
dim = self.assignment[name]
self.definitions[ORDER[0]]['lines'].append([dim, dim, 'absolute', 1, 1000])
return True
def create(self):
self.chart_name = "cpu"
status = SysFileService.create(self)
self.chart_name = self._orig_name
return status
def update(self, interval):
self.chart_name = "cpu"
status = SysFileService.update(self, interval=interval)
self.chart_name = self._orig_name
return status