mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add total to bandwidth graph
This commit is contained in:
parent
dd938aec0f
commit
aadf62caf0
2 changed files with 133 additions and 21 deletions
|
@ -34,9 +34,27 @@ function interface_bandwidth(iface)
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
function string.split(input, delimiter)
|
||||
input = tostring(input)
|
||||
delimiter = tostring(delimiter)
|
||||
if (delimiter=='') then return false end
|
||||
local pos,arr = 0, {}
|
||||
-- for each divider found
|
||||
for st,sp in function() return string.find(input, delimiter, pos, true) end do
|
||||
table.insert(arr, string.sub(input, pos, st - 1))
|
||||
pos = sp + 1
|
||||
end
|
||||
table.insert(arr, string.sub(input, pos))
|
||||
return arr
|
||||
end
|
||||
|
||||
function multipath_bandwidth()
|
||||
local result = { };
|
||||
local uci = luci.model.uci.cursor()
|
||||
local res={ };
|
||||
local str="";
|
||||
local tmpstr="";
|
||||
|
||||
uci:foreach("network", "interface", function(s)
|
||||
local intname = s[".name"]
|
||||
|
@ -64,6 +82,59 @@ function multipath_bandwidth()
|
|||
end
|
||||
end)
|
||||
|
||||
res["total"]={ };
|
||||
for i=1,60 do
|
||||
res["total"][i]={}
|
||||
for j=1,5 do
|
||||
res["total"][i][j]=0
|
||||
end
|
||||
end
|
||||
|
||||
for key,value in pairs(result) do
|
||||
res[key]={}
|
||||
value=(string.gsub(value, "^%[%[", ""))
|
||||
value=(string.gsub(value, "%]%]", ""))
|
||||
local temp1 = string.split(value, "],")
|
||||
res[key][1]=temp1[1]
|
||||
for i=2,60 do
|
||||
res[key][i]={}
|
||||
res[key][i]=(string.gsub(temp1[i], "%[", " "))
|
||||
end
|
||||
for i=1,60 do
|
||||
res[key][i] = string.split(res[key][i], ",")
|
||||
for j=1,5 do
|
||||
if "string"== type(res[key][i][j]) then
|
||||
res[key][i][j]= tonumber(res[key][i][j])
|
||||
end
|
||||
if "string"==type(res["total"][i][j]) then
|
||||
res["total"][i][j]= tonumber(res["total"][i][j])
|
||||
end
|
||||
if j ==1 then
|
||||
res["total"][i][j] = res[key][i][j]
|
||||
else
|
||||
res["total"][i][j] = res["total"][i][j] + res[key][i][j]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
for i=1,60 do
|
||||
for j=1,5 do
|
||||
if "number"== type(res["total"][i][j]) then
|
||||
res["total"][i][j]= tostring(res["total"][i][j])
|
||||
end
|
||||
end
|
||||
end
|
||||
for i=1,60 do
|
||||
if i == 60 then
|
||||
tmpstr = "["..table.concat(res["total"][i], ",")
|
||||
else
|
||||
tmpstr = "["..table.concat(res["total"][i], ",").."],"
|
||||
end
|
||||
str = str..tmpstr
|
||||
end
|
||||
str = "["..str.."]]"
|
||||
result["total"]=str
|
||||
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json(result)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue