aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xapt-panopticon-report-email-web.lua45
-rwxr-xr-xapt-panopticon.lua21
2 files changed, 38 insertions, 28 deletions
diff --git a/apt-panopticon-report-email-web.lua b/apt-panopticon-report-email-web.lua
index 03970ac..9e9d818 100755
--- a/apt-panopticon-report-email-web.lua
+++ b/apt-panopticon-report-email-web.lua
@@ -244,17 +244,22 @@ local collate = function(host, ip, results)
244 local rs = loadfile(f)() 244 local rs = loadfile(f)()
245 for k, v in pairs(rs) do 245 for k, v in pairs(rs) do
246 if "table" == type(v) then 246 if "table" == type(v) then
247 for i, u in pairs(v) do 247 if "speed" == k then
248 if "table" == type(u) then 248 if v.min < results.speed.min then results.speed.min = v.min end
249 for h, t in pairs(u) do 249 if v.max > results.speed.max then results.speed.max = v.max end
250 local a = results[k][h] 250 else
251 for i, u in pairs(v) do
252 if "table" == type(u) then
253 for h, t in pairs(u) do
254 local a = results[k][h]
255 if nil == a then a = 0 end
256 results[k][h] = a + t
257 end
258 else
259 local a = results[k][i]
251 if nil == a then a = 0 end 260 if nil == a then a = 0 end
252 results[k][h] = a + t 261 results[k][i] = a + u
253 end 262 end
254 else
255 local a = results[k][i]
256 if nil == a then a = 0 end
257 results[k][i] = a + u
258 end 263 end
259 end 264 end
260 else 265 else
@@ -445,7 +450,9 @@ if nil == web then C("opening mirrors file - " .. e) else
445 local updated = status(k, results, "Updated") 450 local updated = status(k, results, "Updated")
446 local rate = v.Rate 451 local rate = v.Rate
447 if nil ~= rate then updated = updated .. ' ' .. rate end 452 if nil ~= rate then updated = updated .. ' ' .. rate end
448 local min, max, spd = 999999999999, 0, '' 453 local min = tonumber(results.speed.min)
454 local max = tonumber(results.speed.max)
455 local spd = ''
449 456
450 -- DNS-RR test. 457 -- DNS-RR test.
451 if ("deb.devuan.org" ~= k) and (nil ~= mirrors["deb.devuan.org"]) then 458 if ("deb.devuan.org" ~= k) and (nil ~= mirrors["deb.devuan.org"]) then
@@ -476,25 +483,7 @@ if nil == web then C("opening mirrors file - " .. e) else
476 end 483 end
477 end 484 end
478 end 485 end
479 if "" == dns then dns = "[<font color='grey'><b>no</b></font>]" end
480 486
481 for i, mt in pairs({'Release', 'Packages', 'META'}) do
482 if checkFile("results/curl-" .. mt .. "-" .. k .. ".log") then
483 for l in io.lines("results/curl-" .. mt .. "-" .. k .. ".log") do
484 local speed, crrnt = l:match('^%c *%d+ +%d+k? +%d+ +%d+k? +%d+ +%d+ +(%d+k?) +%d+ +[%d%-]+:[%d%-]+:[%d%-]+ +[%d%-]+:[%d%-]+:[%d%-]+ +[%d%-]+:[%d%-]+:[%d%-]+ +(%d+k?)')
485 if nil ~= speed then
486 if 'k' == speed:sub(-1, -1) then speed = speed:sub(1, -2) .. '000' end
487 if 'k' == crrnt:sub(-1, -1) then crrnt = crrnt:sub(1, -2) .. '000' end
488 speed = tonumber(speed)
489 crrnt = tonumber(crrnt)
490 if speed < min and speed ~= 0 then min = speed end
491 if speed > max then max = speed end
492 if crrnt < min and crrnt ~= 0 then min = crrnt end
493 if crrnt > max then max = crrnt end
494 end
495 end
496 end
497 end
498 if 0 == max then 487 if 0 == max then
499 spd = '<td></td><td></td>' 488 spd = '<td></td><td></td>'
500 else 489 else
diff --git a/apt-panopticon.lua b/apt-panopticon.lua
index 7da7380..5aa1e8d 100755
--- a/apt-panopticon.lua
+++ b/apt-panopticon.lua
@@ -1073,6 +1073,27 @@ if 0 < #arg then
1073 if not keep then os.execute("rm -fr results/" .. pu.host) end 1073 if not keep then os.execute("rm -fr results/" .. pu.host) end
1074 os.execute('rm STATUS_' .. pu.host .. '* 2>/dev/null') 1074 os.execute('rm STATUS_' .. pu.host .. '* 2>/dev/null')
1075 end 1075 end
1076
1077 local min, max, spd = 999999999999, 0
1078 for i, mt in pairs({'Release', 'Packages', 'META'}) do
1079 if checkFile("results/curl-" .. mt .. "-" .. pu.host .. ".log") then
1080 for l in io.lines("results/curl-" .. mt .. "-" .. pu.host .. ".log") do
1081 local speed, crrnt = l:match('^%c *%d+ +%d+k? +%d+ +%d+k? +%d+ +%d+ +(%d+k?) +%d+ +[%d%-]+:[%d%-]+:[%d%-]+ +[%d%-]+:[%d%-]+:[%d%-]+ +[%d%-]+:[%d%-]+:[%d%-]+ +(%d+k?)')
1082 if nil ~= speed then
1083 if 'k' == speed:sub(-1, -1) then speed = speed:sub(1, -2) .. '000' end
1084 if 'k' == crrnt:sub(-1, -1) then crrnt = crrnt:sub(1, -2) .. '000' end
1085 speed = tonumber(speed)
1086 crrnt = tonumber(crrnt)
1087 if speed < min and speed ~= 0 then min = speed end
1088 if speed > max then max = speed end
1089 if crrnt < min and crrnt ~= 0 then min = crrnt end
1090 if crrnt > max then max = crrnt end
1091 end
1092 end
1093 end
1094 end
1095 results["speed"] = {min = min, max = max}
1096
1076 local f = pu.host 1097 local f = pu.host
1077 if "" ~= ip then f = f .. "_" .. ip end 1098 if "" ~= ip then f = f .. "_" .. ip end
1078 local rfile, e = io.open("results/" .. f .. ".lua", "w+") 1099 local rfile, e = io.open("results/" .. f .. ".lua", "w+")