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

index 570a6197f7be15df13d31a08559b57e2957633cf..a539157899984bb3a3ed8a23030f22f54fe1bf1e 100644 (file)
@@ -43,14 +43,14 @@ def _add(colour, amount):
 
        return "#%s" % ret.hex()
 
-def lighten(colour, scale=0.1):
+def lighten(colour, scale=0.25):
        """
                Takes a hexadecimal colour code
                and brightens the colour.
        """
        return _add(colour, scale)
 
-def darken(colour, scale=0.1):
+def darken(colour, scale=0.25):
        """
                Takes a hexadecimal colour code
                and darkens the colour.
index 952ab77184cad06698b14e5b6a19ea6f80886c61..7fd13bed0bbb52e2d9964eeea118accb3c28afab 100644 (file)
@@ -78,6 +78,7 @@ FLOAT         = "%14.2lf"
 LARGE_FLOAT   = "%12.2lf %s"
 BPS           = "%9.2lf %sbps"
 PPS           = "%9.2lf %spps"
+MS            = "%11.2lf ms"
 
 EMPTY_LINE    = "COMMENT: \\n"
 HEADLINE      = "COMMENT:---- %s ----\\c"
index aa5fe8f4a18d281d473ae650b1d86dbda63a3ca9..3334782d77560bbacf0331922a4bf7a05dd19cb0 100644 (file)
@@ -26,6 +26,7 @@ from ..i18n import _
 from . import base
 
 from ..colours import *
+from ..constants import *
 
 PING_HOSTS = [
        # gateway is a special name that is automatically
@@ -45,7 +46,6 @@ class GraphTemplateLatency(base.GraphTemplate):
        def rrd_graph(self):
                _ = self.locale.translate
 
-               colour_bg = AMBER
                return [
                        # Compute the biggest loss and convert into percentage
                        "CDEF:ploss=loss6,loss4,MAX,100,*",
@@ -62,45 +62,61 @@ class GraphTemplateLatency(base.GraphTemplate):
                        "CDEF:l050=ploss,25,50,LIMIT,UN,UNKN,INF,IF",
                        "CDEF:l099=ploss,50,99,LIMIT,UN,UNKN,INF,IF",
 
-                       "LINE2:latency6_avg%s:%s" % (
-                               transparency(COLOUR_IPV6, .5),
-                               _("Average latency (IPv6)"),
+                       # Draw average lines
+                       "LINE:latency6_avg%s::dashes" % (
+                               lighten(COLOUR_IPV6),
                        ),
-                       "LINE2:latency4_avg%s:%s\\r" % (
-                               transparency(COLOUR_IPV4, .5),
-                               _("Average latency (IPv4)"),
+                       "LINE:latency4_avg%s::dashes" % (
+                               lighten(COLOUR_IPV4),
                        ),
 
+                       # Colour background on packet loss
                        "COMMENT:%s" % _("Packet Loss"),
                        "AREA:l005%s:%s" % (
-                               transparency(colour_bg, .2), _("0-5%"),
+                               transparency(BLACK, .2), _("0-5%"),
                        ),
                        "AREA:l010%s:%s" % (
-                               transparency(colour_bg, .4), _("5-10%"),
+                               transparency(BLACK, .4), _("5-10%"),
                        ),
                        "AREA:l025%s:%s" % (
-                               transparency(colour_bg, .6), _("10-25%"),
+                               transparency(BLACK, .6), _("10-25%"),
                        ),
                        "AREA:l050%s:%s" % (
-                               transparency(colour_bg, .8), _("25-50%"),
+                               transparency(BLACK, .8), _("25-50%"),
                        ),
-                       "AREA:l099%s:%s\\r" % (colour_bg, _("50-99%")),
+                       "AREA:l099%s:%s\\r" % (BLACK, _("50-99%")),
 
-                       "COMMENT: \\n", # empty line
+                       EMPTY_LINE,
 
+                       # Plot standard deviation
                        "AREA:spacer4",
-                       "AREA:stddevarea4%s:STACK" % lighten(COLOUR_IPV4, STDDEV_OPACITY),
-                       "LINE2:latency4%s:%s" % (COLOUR_IPV4, _("Latency (IPv4)")),
-                       "GPRINT:latency4_max:%12s\:" % _("Maximum") + " %6.2lf",
-                       "GPRINT:latency4_min:%12s\:" % _("Minimum") + " %6.2lf",
-                       "GPRINT:latency4_avg:%12s\:" % _("Average") + " %6.2lf",
+                       "AREA:stddevarea4%s:STACK" % transparency(COLOUR_IPV4, STDDEV_OPACITY),
+                       "LINE2:latency4%s:%s" % (
+                               COLOUR_IPV4,
+                               LABEL % _("Latency (IPv4)"),
+                       ),
+                       "GPRINT:latency4_cur:%s" % MS,
+                       "GPRINT:latency4_avg:%s" % MS,
+                       "GPRINT:latency4_min:%s" % MS,
+                       "GPRINT:latency4_max:%s\\j" % MS,
 
                        "AREA:spacer6",
-                       "AREA:stddevarea6%s:STACK" % lighten(COLOUR_IPV6, STDDEV_OPACITY),
-                       "LINE2:latency6%s:%s" % (COLOUR_IPV6, _("Latency (IPv6)")),
-                       "GPRINT:latency6_max:%12s\:" % _("Maximum") + " %6.2lf",
-                       "GPRINT:latency6_min:%12s\:" % _("Minimum") + " %6.2lf",
-                       "GPRINT:latency6_avg:%12s\:" % _("Average") + " %6.2lf",
+                       "AREA:stddevarea6%s:STACK" % transparency(COLOUR_IPV6, STDDEV_OPACITY),
+                       "LINE2:latency6%s:%s" % (
+                               COLOUR_IPV6,
+                               LABEL % _("Latency (IPv6)"),
+                       ),
+                       "GPRINT:latency6_cur:%s" % MS,
+                       "GPRINT:latency6_avg:%s" % MS,
+                       "GPRINT:latency6_min:%s" % MS,
+                       "GPRINT:latency6_max:%s\\j" % MS,
+
+                       # Headline
+                       "COMMENT:%s" % EMPTY_LABEL,
+                       "COMMENT:%s" % (COLUMN % _("Current")),
+                       "COMMENT:%s" % (COLUMN % _("Average")),
+                       "COMMENT:%s" % (COLUMN % _("Minimum")),
+                       "COMMENT:%s\\j" % (COLUMN % _("Maximum")),
                ]
 
        @property