]> git.ipfire.org Git - collecty.git/blobdiff - src/collecty/plugins/cpufreq.py
Refectoring of the main classes
[collecty.git] / src / collecty / plugins / cpufreq.py
index 453e08edb0870abed4975741346351e3a600c3e8..8bbd1fb45cc5f0220dc2678faab4b86ec1aa31a2 100644 (file)
@@ -31,53 +31,36 @@ class GraphTemplateCPUFreq(base.GraphTemplate):
 
        lower_limit = 0
 
+       def get_objects(self, *args, **kwargs):
+               return list(self.plugin.objects)
+
        @property
        def graph_title(self):
-               return _("CPU usage")
+               _ = self.locale.translate
+               return _("Processor Frequencies")
 
        @property
        def graph_vertical_label(self):
+               _ = self.locale.translate
                return "%s [%s]" % (_("Frequency"), _("Hz"))
 
-       def get_object_table(self):
-               objects_table = {}
-
-               for processor in self.plugin.objects:
-                       objects_table[processor.id] = processor
-
-               return objects_table
-
-       core_colours = {
-               "cpu0" : "#ff000066",
-               "cpu1" : "#00ff0066",
-               "cpu2" : "#0000ff66",
-               "cpu3" : "#ffff0066",
-       }
+       processor_colours = [
+               "#ff000066",
+               "#00ff0066",
+               "#0000ff66",
+               "#ffff0066",
+       ]
 
        @property
        def rrd_graph(self):
                rrd_graph = []
 
-               for core, processor in sorted(self.object_table.items()):
-                       i = {
-                               "core"   : core,
-                               "colour" : self.core_colours.get(core, "#000000"),
-                               "name"   : processor.name,
-                       }
-
-                       core_graph = [
-                               "DEF:current_%(core)s=%%(%(core)s)s:current:AVERAGE",
-                               "DEF:minimum_%(core)s=%%(%(core)s)s:minimum:AVERAGE",
-                               "DEF:maximum_%(core)s=%%(%(core)s)s:maximum:AVERAGE",
-
-                               "VDEF:avg_%(core)s=current_%(core)s,AVERAGE",
-
-                               "LINE2:current_%(core)s%(colour)s:%(name)-10s",
-                               "GPRINT:avg_%(core)s:%%6.2lf %%sHz\l",
+               for processor, colour in zip(self.objects, self.processor_colours):
+                       rrd_graph += processor.make_rrd_defs(processor.id) + [
+                               "LINE2:%s%s:%-10s" % (processor.id, colour, processor.name),
+                               "GPRINT:%s:%%6.2lf %%sHz" % processor.id,
                        ]
 
-                       rrd_graph += [line % i for line in core_graph]
-
                return rrd_graph
 
        rrd_graph_args = [