]> git.ipfire.org Git - collecty.git/commitdiff
loadavg: Refactor graph
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 24 Sep 2020 14:09:10 +0000 (14:09 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 24 Sep 2020 14:09:10 +0000 (14:09 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/collecty/colours.py
src/collecty/plugins/loadavg.py

index a539157899984bb3a3ed8a23030f22f54fe1bf1e..e03a358e0ad0739e8e9741c48e127e2e6996398a 100644 (file)
@@ -142,13 +142,6 @@ MEMORY_BUFFERED = BLUE
 MEMORY_CACHED   = YELLOW
 MEMORY_SWAP     = RED
 
-# Load average
-LOAD_AVG_COLOURS = (
-       RED,    #  1m
-       ORANGE, #  5m
-       YELLOW, # 15m
-)
-
 COLOURS_PROTOCOL_STATES = {
        # General states
        "NONE"              : GREY,
index 98ccfe7c7421cb81b2e0cd7cb192064e44d37721..bcdbf62be59f4047ad1bca7031d167bff68e9146 100644 (file)
@@ -24,6 +24,7 @@ import os
 from . import base
 
 from ..colours import *
+from ..constants import *
 
 class GraphTemplateLoadAvg(base.GraphTemplate):
        name = "loadavg"
@@ -32,16 +33,38 @@ class GraphTemplateLoadAvg(base.GraphTemplate):
        def rrd_graph(self):
                _ = self.locale.translate
 
-               rrd_graph = []
-
-               for id, colour, when in zip(self.object.rrd_schema_names,
-                               LOAD_AVG_COLOURS, ("1m", "5m", "15m")):
-                       rrd_graph = [
-                               "LINE2:%s%s:%-24s" % (id, colour, _("Load Average %s") % when),
-                               "GPRINT:%s_max:%12s\: %%6.2lf" % (id, _("Maximum")),
-                               "GPRINT:%s_min:%12s\: %%6.2lf" % (id, _("Minimum")),
-                               "GPRINT:%s_avg:%12s\: %%6.2lf" % (id, _("Average")),
-                       ] + rrd_graph
+               rrd_graph = [
+                       "LINE2:load15%s:%s" % (
+                               YELLOW, LABEL % _("15 Minutes"),
+                       ),
+                       "GPRINT:load15_cur:%s" % FLOAT,
+                       "GPRINT:load15_avg:%s" % FLOAT,
+                       "GPRINT:load15_min:%s" % FLOAT,
+                       "GPRINT:load15_max:%s\\j" % FLOAT,
+
+                       "LINE2:load5%s:%s" % (
+                               ORANGE, LABEL % _("5 Minutes"),
+                       ),
+                       "GPRINT:load5_cur:%s" % FLOAT,
+                       "GPRINT:load5_avg:%s" % FLOAT,
+                       "GPRINT:load5_min:%s" % FLOAT,
+                       "GPRINT:load5_max:%s\\j" % FLOAT,
+
+                       "LINE2:load1%s:%s" % (
+                               RED, LABEL % _("1 Minute"),
+                       ),
+                       "GPRINT:load1_cur:%s" % FLOAT,
+                       "GPRINT:load1_avg:%s" % FLOAT,
+                       "GPRINT:load1_min:%s" % FLOAT,
+                       "GPRINT:load1_max:%s\\j" % FLOAT,
+
+                       # Headline
+                       "COMMENT:%s" % EMPTY_LABEL,
+                       "COMMENT:%s" % (COLUMN % _("Current")),
+                       "COMMENT:%s" % (COLUMN % _("Average")),
+                       "COMMENT:%s" % (COLUMN % _("Minimum")),
+                       "COMMENT:%s\\j" % (COLUMN % _("Maximum")),
+               ]
 
                return rrd_graph
 
@@ -50,11 +73,13 @@ class GraphTemplateLoadAvg(base.GraphTemplate):
        @property
        def graph_title(self):
                _ = self.locale.translate
+
                return _("Load Average")
 
        @property
        def graph_vertical_label(self):
                _ = self.locale.translate
+
                return _("Load")
 
        @property