Add support for collectd-mod-uptime to luci-statistics
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 23 Apr 2013 10:09:19 +0000 (10:09 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 23 Apr 2013 10:09:19 +0000 (10:09 +0000)
collectd-mod-uptime is already there, but there has been no Luci support for
it, so no graphs are shown.

Based on forum discussion (see
https://forum.openwrt.org/viewtopic.php?id=42478 ), I submit a patch to add
the support to luci-statistics.

Patch is for Luci trunk and the functionality can be enabled by selecting
collectd-mod-uptime in menuconfig.

signed-off-by: hannu.nyman@iki.fi

applications/luci-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
applications/luci-statistics/luasrc/model/cbi/luci_statistics/uptime.lua [new file with mode: 0644]
applications/luci-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua [new file with mode: 0644]
applications/luci-statistics/root/etc/config/luci_statistics
applications/luci-statistics/root/usr/bin/stat-genconfig

index d69b68e..1f20164 100644 (file)
@@ -55,13 +55,14 @@ function index()
                processes       = _("Processes"),
                rrdtool         = _("RRDTool"),
                tcpconns        = _("TCP Connections"),
                processes       = _("Processes"),
                rrdtool         = _("RRDTool"),
                tcpconns        = _("TCP Connections"),
-               unixsock        = _("UnixSock")
+               unixsock        = _("UnixSock"),
+               uptime          = _("Uptime")
        }
 
        -- our collectd menu
        local collectd_menu = {
                output  = { "csv", "network", "rrdtool", "unixsock" },
        }
 
        -- our collectd menu
        local collectd_menu = {
                output  = { "csv", "network", "rrdtool", "unixsock" },
-               system  = { "cpu", "df", "disk", "email", "exec", "irq", "load", "memory", "nut", "processes" },
+               system  = { "cpu", "df", "disk", "email", "exec", "irq", "load", "memory", "nut", "processes", "uptime" },
                network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "ping", "tcpconns", "iwinfo" }
        }
 
                network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "ping", "tcpconns", "iwinfo" }
        }
 
diff --git a/applications/luci-statistics/luasrc/model/cbi/luci_statistics/uptime.lua b/applications/luci-statistics/luasrc/model/cbi/luci_statistics/uptime.lua
new file mode 100644 (file)
index 0000000..3a6c464
--- /dev/null
@@ -0,0 +1,22 @@
+--[[
+
+Copyright 2013 Thomas Endt <tmo26@gmx.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+m = Map("luci_statistics",
+        translate("Uptime Plugin Configuration"),
+        translate("The uptime plugin collects statistics about the uptime of the system."))
+
+s = m:section( NamedSection, "collectd_uptime", "luci_statistics" )
+
+enable = s:option( Flag, "enable", translate("Enable this plugin") )
+enable.default = 0
+
+return m
+
diff --git a/applications/luci-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua b/applications/luci-statistics/luasrc/statistics/rrdtool/definitions/uptime.lua
new file mode 100644 (file)
index 0000000..077ec57
--- /dev/null
@@ -0,0 +1,27 @@
+--[[
+
+Copyright 2013 Thomas Endt <tmo26@gmx.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+module("luci.statistics.rrdtool.definitions.uptime", package.seeall)
+
+function rrdargs( graph, plugin, plugin_instance, dtype )
+
+        return {
+                title = "%H: Uptime", vlabel = "seconds",
+                number_format = "%5.0lf%s", data = {
+                        types = { "uptime" },
+                        options = {
+                                uptime = { title = "Uptime %di", noarea = true }
+                        }
+                }
+        }
+
+end
+
index 5267a02..1bbe76c 100644 (file)
@@ -135,3 +135,6 @@ config 'statistics' 'collectd_iwinfo'
 config 'statistics' 'collectd_nut'
        option 'enable' '0'
        option 'UPS' 'myupsname'
 config 'statistics' 'collectd_nut'
        option 'enable' '0'
        option 'UPS' 'myupsname'
+
+config 'statistics' 'collectd_uptime'
+       option 'enable' '1'
index 0a9fa1a..46d23a6 100755 (executable)
@@ -399,6 +399,12 @@ plugins = {
                { }
        },
 
                { }
        },
 
+       uptime = {
+               { },
+               { },
+               { }
+       },
+
        wireless = {
                { },
                { },
        wireless = {
                { },
                { },