Merge pull request #2473 from TDT-AG/pr/20190121-luci-app-statistics

luci-app-statistics: some code cleanup
This commit is contained in:
Jo-Philipp Wich 2019-01-21 20:13:12 +01:00 committed by GitHub
commit 29c343c5ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 89 additions and 124 deletions

View file

@ -1,7 +1,7 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require("luci.sys")
local sys = require("luci.sys")
m = Map("luci_statistics",
@ -17,7 +17,7 @@ s = m:section( NamedSection, "collectd", "luci_statistics" )
-- general.hostname (Hostname)
hostname = s:option( Value, "Hostname", translate("Hostname") )
hostname.default = luci.sys.hostname()
hostname.default = sys.hostname()
hostname.optional = true
-- general.basedir (BaseDir)

View file

@ -1,13 +1,5 @@
--[[
Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
]]--
-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
m = Map("luci_statistics",
translate("Conntrack Plugin Configuration"),

View file

@ -1,7 +1,7 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require("luci.sys")
local sys = require("luci.sys")
m = Map("luci_statistics",
@ -24,7 +24,7 @@ interfaces.widget = "select"
interfaces.size = 5
interfaces:depends( "enable", 1 )
interfaces:value("any")
for k, v in pairs(luci.sys.net.devices()) do
for k, v in pairs(sys.net.devices()) do
interfaces:value(v)
end

View file

@ -1,7 +1,7 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require("luci.sys")
local sys = require("luci.sys")
m = Map("luci_statistics",
@ -23,7 +23,7 @@ interfaces = s:option( MultiValue, "Interfaces", translate("Monitor interfaces")
interfaces.widget = "select"
interfaces.size = 5
interfaces:depends( "enable", 1 )
for k, v in pairs(luci.sys.net.devices()) do
for k, v in pairs(sys.net.devices()) do
interfaces:value(v)
end

View file

@ -1,13 +1,12 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require("luci.sys.iptparser")
local ip = require("luci.sys.iptparser").IptParser()
ip = luci.sys.iptparser.IptParser()
chains = { }
targets = { }
local chains = { }
local targets = { }
for i, rule in ipairs( ip:find() ) do
for i, rule in ipairs( ip:find() ) do
if rule.chain and rule.target then
chains[rule.chain] = true
targets[rule.target] = true

View file

@ -1,13 +1,5 @@
--[[
Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
]]--
-- Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
-- Licensed to the public under the Apache License 2.0.
m = Map("luci_statistics",
translate("Memory Plugin Configuration"),

View file

@ -1,9 +1,9 @@
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require("luci.sys")
local sys = require("luci.sys")
local devices = luci.sys.net.devices()
local devices = sys.net.devices()
m = Map("luci_statistics",

View file

@ -1,11 +1,8 @@
-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require "luci.sys"
local m, s, o
m = Map("luci_statistics",
translate("OpenVPN Plugin Configuration"),
translate("The OpenVPN plugin gathers information about the current vpn connection status."))

View file

@ -1,8 +1,6 @@
-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
require "luci.sys"
local m, s, o
local sensor_types = {
["12v"] = "voltage",

View file

@ -1,13 +1,5 @@
--[[
Copyright 2013 Thomas Endt <tmo26@gmx.de>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
]]--
-- Copyright 2013 Thomas Endt <tmo26@gmx.de>
-- Licensed to the public under the Apache License 2.0.
m = Map("luci_statistics",
translate("Uptime Plugin Configuration"),

View file

@ -3,15 +3,14 @@
module("luci.statistics.i18n", package.seeall)
require("luci.util")
require("luci.i18n")
local util = require("luci.util")
local i18n = require("luci.i18n")
Instance = luci.util.class()
Instance = util.class()
function Instance.__init__( self, graph )
self.i18n = luci.i18n
self.i18n = i18n
self.graph = graph
end

View file

@ -3,30 +3,28 @@
module("luci.statistics.rrdtool", package.seeall)
require("luci.statistics.datatree")
require("luci.statistics.rrdtool.colors")
require("luci.statistics.i18n")
require("luci.model.uci")
require("luci.util")
require("luci.sys")
local fs = require "nixio.fs"
local tree = require("luci.statistics.datatree")
local colors = require("luci.statistics.rrdtool.colors")
local i18n = require("luci.statistics.i18n")
local uci = require("luci.model.uci").cursor()
local util = require("luci.util")
local sys = require("luci.sys")
local fs = require("nixio.fs")
Graph = luci.util.class()
Graph = util.class()
function Graph.__init__( self, timespan, opts )
opts = opts or { }
local uci = luci.model.uci.cursor()
local sections = uci:get_all( "luci_statistics" )
-- 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.host = opts.host or sections.collectd.Hostname or 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"
opts.imgpath = opts.imgpath or sections.rrdtool.image_path or "/tmp/rrdimg"
@ -34,9 +32,9 @@ function Graph.__init__( self, timespan, opts )
opts.imgpath = opts.imgpath:gsub("/$","")
-- helper classes
self.colors = luci.statistics.rrdtool.colors.Instance()
self.tree = luci.statistics.datatree.Instance(opts.host)
self.i18n = luci.statistics.i18n.Instance( self )
self.colors = colors.Instance()
self.tree = tree.Instance(opts.host)
self.i18n = i18n.Instance( self )
-- rrdtool default args
self.args = {
@ -102,7 +100,7 @@ function Graph._rrdtool( self, def, rrd )
opt = opt:gsub( "{file}", rrd )
end
cmdline[#cmdline+1] = luci.util.shellquote(opt)
cmdline[#cmdline+1] = util.shellquote(opt)
end
-- execute rrdtool

View file

@ -3,10 +3,10 @@
module("luci.statistics.rrdtool.colors", package.seeall)
require("luci.util")
local util = require("luci.util")
Instance = luci.util.class()
Instance = util.class()
function Instance.from_string( self, s )
return {

View file

@ -19,8 +19,7 @@ function rrdargs( graph, plugin, plugin_instance )
ups_inst[t] = graph.tree:data_instances( plugin, plugin_instance, t )
end
-- Check if hash table or array is empty or nil-filled
-- Check if hash table or array is empty or nil-filled
local function empty( t )
for _, v in pairs(t) do
@ -57,8 +56,8 @@ function rrdargs( graph, plugin, plugin_instance )
end
-- Graph definitions for APC UPS measurements MUST use only 'instances':
-- e.g. instances = { voltage = { "input", "output" } }
-- Graph definitions for APC UPS measurements MUST use only 'instances':
-- e.g. instances = { voltage = { "input", "output" } }
local voltagesdc = {
title = "%H: Voltages on APC UPS - Battery",

View file

@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.conntrack",package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
title = "%H: Conntrack entries",
vlabel = "Count",

View file

@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.curl", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
title = "%H: cUrl Response Time for #%pi",
y_min = "0",

View file

@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.disk", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
{
title = "%H: Disk I/O operations on %pi",

View file

@ -37,7 +37,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
--
-- packet diagram
--
@ -119,7 +118,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
--
-- multicast diagram
--
@ -144,7 +142,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
--
-- collision diagram
--
@ -169,7 +166,6 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
--
-- error diagram
--
@ -206,6 +202,5 @@ function rrdargs( graph, plugin, plugin_instance )
}
}
return { traffic, packets, multicast, collisions, errors }
end

View file

@ -9,18 +9,18 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
if plugin_instance == "routes" then
g[#g+1] = {
-- diagram data description
-- diagram data description
title = "%H: Total amount of OLSR routes", vlabel = "n",
number_format = "%5.0lf", data = {
types = { "routes" },
types = { "routes" },
options = {
routes = {
color = "ff0000",
title = "Total number of routes"
}
}
}
}
}
}
g[#g+1] = {
title = "%H: Average route ETX", vlabel = "ETX", detail = true,
@ -80,7 +80,7 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
number_format = "%5.2lf", detail = true,
data = {
types = { "signal_quality" },
instances = {
signal_quality = { instances[i], instances[i+1] },
},
@ -106,7 +106,7 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
title= "%H: Total amount of OLSR links", vlabel = "n",
number_format = "%5.0lf", data = {
instances = { "" },
types = { "links" },
types = { "links" },
options = {
links = {
color = "0000ff",
@ -114,7 +114,7 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
}
}
}
}
}
g[#g+1] = {
title= "%H: Average signal quality", vlabel = "n",

View file

@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.ping", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
-- Ping roundtrip time
{ title = "%H: ICMP Round Trip Time",

View file

@ -5,8 +5,8 @@ module("luci.statistics.rrdtool.definitions.processes", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
if plugin_instance == "" then
return {
if plugin_instance == "" then
return {
title = "%H: Processes",
vlabel = "Processes/s",
data = {
@ -26,9 +26,9 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
ps_state_zombies = { color = "ff0000", title = "Zombies" }
}
}
}
else
return {
}
else
return {
{
title = "%H: CPU time used by %pi",
vlabel = "Jiffies",
@ -113,5 +113,5 @@ function rrdargs( graph, plugin, plugin_instance, dtype )
}
}
}
end
end
end

View file

@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.sensors", package.seeall)
function rrdargs( graph, plugin, plugin_instance )
return {
{
per_instance = true,

View file

@ -1,27 +1,26 @@
-- Copyright 2013 Freifunk Augsburg / Michael Wendland <michael@michiwend.com>
-- Licensed to the public under the Apache License 2.0.
module("luci.statistics.rrdtool.definitions.splash_leases", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
title = "%H: Splash Leases",
vlabel = "Active Clients",
y_min = "0",
number_format = "%5.1lf",
data = {
sources = {
splash_leases = { "leased", "whitelisted", "blacklisted" }
},
options = {
splash_leases__leased = { color = "00CC00", title = "Leased", overlay = false },
splash_leases__whitelisted = { color = "0000FF", title = "Whitelisted", overlay = false },
splash_leases__blacklisted = { color = "FF0000", title = "Blacklisted", overlay = false }
}
}
}
end
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
title = "%H: Splash Leases",
vlabel = "Active Clients",
y_min = "0",
number_format = "%5.1lf",
data = {
sources = {
splash_leases = { "leased", "whitelisted", "blacklisted" }
},
options = {
splash_leases__leased = { color = "00CC00", title = "Leased", overlay = false },
splash_leases__whitelisted = { color = "0000FF", title = "Whitelisted", overlay = false },
splash_leases__blacklisted = { color = "FF0000", title = "Blacklisted", overlay = false }
}
}
}
end

View file

@ -4,6 +4,7 @@
module("luci.statistics.rrdtool.definitions.tcpconns", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
title = "%H: TCP connections to port %pi",
vlabel = "Connections/s",

View file

@ -13,15 +13,14 @@ module("luci.statistics.rrdtool.definitions.uptime", package.seeall)
function rrdargs( graph, plugin, plugin_instance, dtype )
return {
title = "%H: Uptime", vlabel = "seconds",
number_format = "%5.0lf%s", data = {
types = { "uptime" },
options = {
uptime = { title = "Uptime %di", noarea = true }
}
}
}
return {
title = "%H: Uptime", vlabel = "seconds",
number_format = "%5.0lf%s", data = {
types = { "uptime" },
options = {
uptime = { title = "Uptime %di", noarea = true }
}
}
}
end