luci-app-statistics: add new memory plugin option

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
Florian Eckert 2019-09-13 12:51:13 +02:00
parent 2be8aefe7f
commit d064cbcf98
3 changed files with 91 additions and 9 deletions

View file

@ -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

View file

@ -1,7 +1,7 @@
return {
legend = {
{ },
legend = {
{ },
{ "ValuesPercentage", "ValuesAbsolute" },
{ }
},
label = _("Memory"),

View file

@ -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