diff options
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 |