summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2016-11-19 16:06:05 +0200
committerHannu Nyman <hannu.nyman@iki.fi>2016-11-19 16:10:57 +0200
commit1c27f6b462b7b488e75a5388198e97be00ba0835 (patch)
treed6f568776190808c9a605c9b771009405052a24c
parent840a414c3a50a4006a78d8ee376d0feb0cd9975a (diff)
luci-app-statistics: add support for thermal stats
Add support for temperature data from collect-mod-thermal Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
-rw-r--r--applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua9
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua29
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua20
-rw-r--r--applications/luci-app-statistics/root/etc/config/luci_statistics5
-rwxr-xr-xapplications/luci-app-statistics/root/usr/bin/stat-genconfig6
5 files changed, 67 insertions, 2 deletions
diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
index cf1bc2e6b..36c5554d3 100644
--- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
+++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
@@ -50,6 +50,7 @@ function index()
sensors = _("Sensors"),
splash_leases = _("Splash Leases"),
tcpconns = _("TCP Connections"),
+ thermal = _("Thermal"),
unixsock = _("UnixSock"),
uptime = _("Uptime")
}
@@ -57,8 +58,12 @@ function index()
-- our collectd menu
local collectd_menu = {
output = { "csv", "network", "rrdtool", "unixsock" },
- general = { "cpu", "cpufreq", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "sensors", "uptime" },
- network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "openvpn", "ping", "splash_leases", "tcpconns", "iwinfo" }
+ general = { "cpu", "cpufreq", "df", "disk", "email",
+ "entropy", "exec", "irq", "load", "memory",
+ "nut", "processes", "sensors", "thermal", "uptime" },
+ network = { "conntrack", "dns", "interface", "iptables",
+ "netlink", "olsrd", "openvpn", "ping",
+ "splash_leases", "tcpconns", "iwinfo" }
}
-- create toplevel menu nodes
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua
new file mode 100644
index 000000000..bdf41b79b
--- /dev/null
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua
@@ -0,0 +1,29 @@
+-- Licensed to the public under the Apache License 2.0.
+
+m = Map("luci_statistics",
+ translate("Thermal Plugin Configuration"),
+ translate("The thermal plugin will monitor temperature of the system. " ..
+ "Data is typically read from /sys/class/thermal/*/temp " ..
+ "( '*' denotes the thermal device to be read, e.g. thermal_zone1 )")
+ )
+
+-- collectd_thermal config section
+s = m:section( NamedSection, "collectd_thermal", "luci_statistics" )
+
+-- collectd_thermal.enable
+enable = s:option( Flag, "enable", translate("Enable this plugin") )
+enable.default = 0
+
+-- collectd_thermal.tz (Device)
+tz = s:option( Value, "Device", translate("Monitor device(s) / thermal zone(s)"),
+ translate("Empty value = monitor all") )
+tz.optional = true
+tz:depends( "enable", 1 )
+
+-- collectd_thermal.ignoreselected (IgnoreSelected)
+ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") )
+ignoreselected.default = 0
+ignoreselected.optional = true
+ignoreselected:depends( "enable", 1 )
+
+return m
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua
new file mode 100644
index 000000000..532246465
--- /dev/null
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua
@@ -0,0 +1,20 @@
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.statistics.rrdtool.definitions.thermal",package.seeall)
+
+function rrdargs( graph, plugin, plugin_instance, dtype )
+
+ return {
+ title = "%H: Temperature of %pi",
+ alt_autoscale = true,
+ vlabel = "Celsius",
+ number_format = "%3.1lf%s",
+ data = {
+ types = { "temperature" },
+ options = {
+ temperature = { color = "ff0000", title = "Temperature", noarea=true },
+ }
+ }
+ }
+end
+
diff --git a/applications/luci-app-statistics/root/etc/config/luci_statistics b/applications/luci-app-statistics/root/etc/config/luci_statistics
index 8fdcf434c..774a8382e 100644
--- a/applications/luci-app-statistics/root/etc/config/luci_statistics
+++ b/applications/luci-app-statistics/root/etc/config/luci_statistics
@@ -154,6 +154,11 @@ config statistics 'collectd_tcpconns'
option ListeningPorts '0'
option LocalPorts '22 80'
+config statistics 'collectd_thermal'
+ option enable '0'
+ option IgnoreSelected '0'
+ option Device ''
+
config statistics 'collectd_uptime'
option enable '0'
diff --git a/applications/luci-app-statistics/root/usr/bin/stat-genconfig b/applications/luci-app-statistics/root/usr/bin/stat-genconfig
index ab8159bc2..df9af1526 100755
--- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig
+++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig
@@ -423,6 +423,12 @@ plugins = {
{ "LocalPorts", "RemotePorts" }
},
+ thermal = {
+ { },
+ { "IgnoreSelected" },
+ { "Device" }
+ },
+
unixsock = {
{ "SocketFile", "SocketGroup", "SocketPerms" },
{ },