diff options
-rw-r--r-- | applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua | 10 | ||||
-rw-r--r-- | applications/luci-app-statistics/luasrc/statistics/rrdtool.lua | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua index b3bdf874c..f31fb2093 100644 --- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua @@ -47,10 +47,16 @@ heartbeat:depends( "enable", 1 ) rrasingle = s:option( Flag, "RRASingle", translate("Only create average RRAs"), translate("reduces rrd size") ) rrasingle.default = true -rrasingle.rmempty = true -rrasingle.optional = true rrasingle:depends( "enable", 1 ) +-- collectd_rrdtool.rramax (RRAMax) +rramax = s:option( Flag, "RRAMax", + translate("Show max values instead of averages"), + translate("Max values for a period can be used instead of averages when not using 'only average RRAs'") ) +rramax.default = false +rramax.rmempty = true +rramax:depends( "RRASingle", 0 ) + -- collectd_rrdtool.rratimespans (RRATimespan) rratimespans = s:option( Value, "RRATimespans", translate("Stored timespans"), translate("seconds; multiple separated by space") ) diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua index cd2395e11..4e00e7f1f 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua @@ -25,6 +25,7 @@ function Graph.__init__( self, timespan, opts ) -- options opts.timespan = timespan or sections.rrdtool.default_timespan or 900 opts.rrasingle = opts.rrasingle or ( sections.collectd_rrdtool.RRASingle == "1" ) + opts.rramax = opts.rramax or ( sections.collectd_rrdtool.RRAMax == "1" ) opts.host = opts.host or sections.collectd.Hostname or luci.sys.hostname() opts.width = opts.width or sections.rrdtool.image_width or 400 opts.rrdpath = opts.rrdpath or sections.collectd_rrdtool.DataDir or "/tmp/rrd" @@ -171,7 +172,7 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) -- is first source in stack or overlay source: source_stk = source_nnl if not prev or source.overlay then - if self.opts.rrasingle then + if self.opts.rrasingle or not self.opts.rramax then -- create cdef statement for cumulative stack (no NaNs) and also -- for display (preserving NaN where no points should be displayed) _tif( _args, "CDEF:%s_stk=%s_nnl", source.sname, source.sname ) @@ -185,7 +186,7 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) -- is subsequent source without overlay: source_stk = source_nnl + previous_stk else - if self.opts.rrasingle then + if self.opts.rrasingle or not self.opts.rramax then -- create cdef statement _tif( _args, "CDEF:%s_stk=%s_nnl,%s_stk,+", source.sname, source.sname, prev ) _tif( _args, "CDEF:%s_plot=%s_avg,%s_stk,+", source.sname, source.sname, prev ) |