summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/luasrc
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-statistics/luasrc')
-rw-r--r--applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua14
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/plugins/memory.lua4
-rw-r--r--applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/memory.lua82
3 files changed, 91 insertions, 9 deletions
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua
index fa677b8d12..e5f3360c05 100644
--- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua
+++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/memory.lua
@@ -10,4 +10,18 @@ s = m:section( NamedSection, "collectd_memory", "luci_statistics" )
enable = s:option( Flag, "enable", translate("Enable this plugin") )
enable.default = 0
+-- collectd_memory.valuesabsolute (ValuesAbsolute)
+valuespercentage = s:option( Flag, "ValuesAbsolute",
+ translate("Absolute values"),
+ translate("When set to true, we request absolute values"))
+valuespercentage.default = 1
+valuespercentage:depends( "enable", 1 )
+
+-- collectd_memory.valuespercentage (ValuesPercentage)
+valuespercentage = s:option( Flag, "ValuesPercentage",
+ translate("Percent values"),
+ translate("When set to true, we request percentage values"))
+valuespercentage.default = 0
+valuespercentage:depends( "enable", 1 )
+
return m
diff --git a/applications/luci-app-statistics/luasrc/statistics/plugins/memory.lua b/applications/luci-app-statistics/luasrc/statistics/plugins/memory.lua
index 8dee2dafcd..9ad1b3f88d 100644
--- a/applications/luci-app-statistics/luasrc/statistics/plugins/memory.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/plugins/memory.lua
@@ -1,7 +1,7 @@
return {
- legend = {
- { },
+ legend = {
{ },
+ { "ValuesPercentage", "ValuesAbsolute" },
{ }
},
label = _("Memory"),
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/memory.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/memory.lua
index b05d31dc02..53cfc8f553 100644
--- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/memory.lua
+++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/memory.lua
@@ -16,24 +16,92 @@ function item()
end
function rrdargs( graph, plugin, plugin_instance, dtype )
+ local p = {}
- return {
+ local memory = {
title = "%H: Memory usage",
vlabel = "MB",
number_format = "%5.1lf%s",
y_min = "0",
alt_autoscale_max = true,
data = {
- instances = {
- memory = { "free", "buffered", "cached", "used" }
+ instances = {
+ memory = {
+ "free",
+ "buffered",
+ "cached",
+ "used"
+ }
},
options = {
- memory_buffered = { color = "0000ff", title = "Buffered" },
- memory_cached = { color = "ff00ff", title = "Cached" },
- memory_used = { color = "ff0000", title = "Used" },
- memory_free = { color = "00ff00", title = "Free" }
+ memory_buffered = {
+ color = "0000ff",
+ title = "Buffered"
+ },
+ memory_cached = {
+ color = "ff00ff",
+ title = "Cached"
+ },
+ memory_used = {
+ color = "ff0000",
+ title = "Used"
+ },
+ memory_free = {
+ color = "00ff00",
+ title = "Free"
+ }
}
}
}
+
+ local percent = {
+ title = "%H: Memory usage",
+ vlabel = "Percent",
+ number_format = "%5.1lf%%",
+ y_min = "0",
+ alt_autoscale_max = true,
+ data = {
+ instances = {
+ percent = {
+ "free",
+ "buffered",
+ "cached",
+ "used"
+ }
+ },
+ options = {
+ percent_buffered = {
+ color = "0000ff",
+ title = "Buffered"
+ },
+ percent_cached = {
+ color = "ff00ff",
+ title = "Cached"
+ },
+ percent_used = {
+ color = "ff0000",
+ title = "Used"
+ },
+ percent_free = {
+ color = "00ff00",
+ title = "Free"
+ }
+ }
+ }
+ }
+
+ local types = graph.tree:data_types( plugin, plugin_instance )
+
+ for _, t in ipairs(types) do
+ if t == "percent" then
+ p[#p+1] = percent
+ end
+
+ if t == "memory" then
+ p[#p+1] = memory
+ end
+ end
+
+ return p
end