diff options
Diffstat (limited to 'applications/luci-app-statistics')
8 files changed, 152 insertions, 8 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 3f26aeed6f..36c5554d35 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 @@ -25,6 +25,7 @@ function index() conntrack = _("Conntrack"), cpu = _("Processor"), + cpufreq = _("CPU Frequency"), csv = _("CSV Output"), df = _("Disk Space Usage"), disk = _("Disk Usage"), @@ -49,6 +50,7 @@ function index() sensors = _("Sensors"), splash_leases = _("Splash Leases"), tcpconns = _("TCP Connections"), + thermal = _("Thermal"), unixsock = _("UnixSock"), uptime = _("Uptime") } @@ -56,8 +58,12 @@ function index() -- our collectd menu local collectd_menu = { output = { "csv", "network", "rrdtool", "unixsock" }, - general = { "cpu", "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/cpufreq.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua new file mode 100644 index 0000000000..d1116630b4 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua @@ -0,0 +1,14 @@ +-- Licensed to the public under the Apache License 2.0. + +m = Map("luci_statistics", + translate("CPU Frequency Plugin Configuration"), + translate("This plugin collects statistics about the processor frequency scaling.")) + +-- collectd_cpufreq config section +s = m:section( NamedSection, "collectd_cpufreq", "luci_statistics" ) + +-- collectd_cpufreq.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m 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 0000000000..bdf41b79bc --- /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/cpufreq.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua new file mode 100644 index 0000000000..25a72d2285 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua @@ -0,0 +1,25 @@ +-- Licensed to the public under the Apache License 2.0. + +module("luci.statistics.rrdtool.definitions.cpufreq",package.seeall) + +function rrdargs( graph, plugin, plugin_instance, dtype ) + + return { + title = "%H: Processor frequency", + alt_autoscale = true, + vlabel = "Frequency (Hz)", + number_format = "%3.2lf%s", + data = { + sources = { + cpufreq = { "" } + }, + options = { + cpufreq_0 = { color = "ff0000", title = "Core 0", noarea=true, overlay=true }, + cpufreq_1 = { color = "0000ff", title = "Core 1", noarea=true, overlay=true }, + cpufreq_2 = { color = "00ff00", title = "Core 2", noarea=true, overlay=true }, + cpufreq_3 = { color = "00ffff", title = "Core 3", noarea=true, overlay=true } + } + } + } +end + diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua index 8b04ab8b38..dd93196902 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua @@ -32,23 +32,24 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) options = { current_output = { color = "00e000", title = "Output current", noarea=true, overlay=true }, - current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true }, + current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true } } } } local percentage = { - title = "%H: Battery charge on UPS \"%pi\"", + title = "%H: Battery charge/load on UPS \"%pi\"", vlabel = "Percent", y_min = "0", y_max = "100", number_format = "%5.1lf%%", data = { instances = { - percent = "charge" + percent = { "charge", "load" } }, options = { - percent_charge = { color = "00ff00", title = "Charge level" } + percent_charge = { color = "00ff00", title = "Charge level" }, + percent_load = { color = "ff0000", title = "Load" } } } } @@ -78,10 +79,39 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) timeleft = { "battery" } }, options = { - timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/" } + timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/", noarea=true } } } } - return { voltages, currents, percentage, temperature, timeleft } + local power = { + title = "%H: Power on UPS \"%pi\"", + vlabel = "Power", + number_format = "%5.1lf%%", + data = { + instances = { + power = { "ups" } + }, + options = { + power_ups = { color = "00ff00", title = "Power level" } + } + } + } + + local frequencies = { + title = "%H: Frequencies on UPS \"%pi\"", + vlabel = "Hz", + number_format = "%5.1lfHz", + data = { + instances = { + frequency = { "input", "output" } + }, + + options = { + frequency_output = { color = "00e000", title = "Output frequency", noarea=true, overlay=true }, + frequency_input = { color = "ffb000", title = "Input frequency", noarea=true, overlay=true } + } + } + } + return { voltages, currents, percentage, temperature, timeleft, power, frequencies } end 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 0000000000..532246465e --- /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 4435d5c61e..774a8382e2 100644 --- a/applications/luci-app-statistics/root/etc/config/luci_statistics +++ b/applications/luci-app-statistics/root/etc/config/luci_statistics @@ -55,6 +55,9 @@ config statistics 'collectd_conntrack' config statistics 'collectd_cpu' option enable '1' +config statistics 'collectd_cpufreq' + option enable '0' + config statistics 'collectd_df' option enable '0' option Devices '/dev/mtdblock/4' @@ -151,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 49d8a09935..df9af15261 100755 --- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig +++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig @@ -273,6 +273,12 @@ plugins = { { } }, + cpufreq = { + { }, + { }, + { } + }, + csv = { { "DataDir" }, { "StoreRates" }, @@ -417,6 +423,12 @@ plugins = { { "LocalPorts", "RemotePorts" } }, + thermal = { + { }, + { "IgnoreSelected" }, + { "Device" } + }, + unixsock = { { "SocketFile", "SocketGroup", "SocketPerms" }, { }, |