summaryrefslogtreecommitdiffhomepage
path: root/modules/admin-full/luasrc/controller
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-09-01 22:54:29 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-09-01 22:54:29 +0000
commit8bbf59dcc6bd33a2353d56da5390c3c869c57c3a (patch)
treedeaae3978a17e3365d7751abf0d65bc3552cb34c /modules/admin-full/luasrc/controller
parent37df666e0a3e566d0c15f65d497c5be32e6d4d6d (diff)
modules/admin-full: rework realtime stats to start luci-bwc on demand, kill daemon after ten seconds of inactivity
Diffstat (limited to 'modules/admin-full/luasrc/controller')
-rw-r--r--modules/admin-full/luasrc/controller/admin/status.lua85
1 files changed, 34 insertions, 51 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/status.lua b/modules/admin-full/luasrc/controller/admin/status.lua
index f9bfd908d..61704ff55 100644
--- a/modules/admin-full/luasrc/controller/admin/status.lua
+++ b/modules/admin-full/luasrc/controller/admin/status.lua
@@ -69,57 +69,42 @@ function action_bandwidth()
local path = luci.dispatcher.context.requestpath
local iface = path[#path]
- local fs = require "luci.fs"
- if fs.access("/var/lib/luci-bwc/if/%s" % iface) then
- luci.http.prepare_content("application/json")
-
- local bwc = io.popen("luci-bwc -i %q 2>/dev/null" % iface)
- if bwc then
- luci.http.write("[")
-
- while true do
- local ln = bwc:read("*l")
- if not ln then break end
- luci.http.write(ln)
- end
-
- luci.http.write("]")
- bwc:close()
+ luci.http.prepare_content("application/json")
+
+ local bwc = io.popen("luci-bwc -i %q 2>/dev/null" % iface)
+ if bwc then
+ luci.http.write("[")
+
+ while true do
+ local ln = bwc:read("*l")
+ if not ln then break end
+ luci.http.write(ln)
end
- return
+ luci.http.write("]")
+ bwc:close()
end
-
- luci.http.status(404, "No data available")
end
function action_load()
- local fs = require "luci.fs"
- if fs.access("/var/lib/luci-bwc/load") then
- luci.http.prepare_content("application/json")
-
- local bwc = io.popen("luci-bwc -l 2>/dev/null")
- if bwc then
- luci.http.write("[")
-
- while true do
- local ln = bwc:read("*l")
- if not ln then break end
- luci.http.write(ln)
- end
-
- luci.http.write("]")
- bwc:close()
+ luci.http.prepare_content("application/json")
+
+ local bwc = io.popen("luci-bwc -l 2>/dev/null")
+ if bwc then
+ luci.http.write("[")
+
+ while true do
+ local ln = bwc:read("*l")
+ if not ln then break end
+ luci.http.write(ln)
end
- return
+ luci.http.write("]")
+ bwc:close()
end
-
- luci.http.status(404, "No data available")
end
function action_connections()
- local fs = require "luci.fs"
local sys = require "luci.sys"
luci.http.prepare_content("application/json")
@@ -127,20 +112,18 @@ function action_connections()
luci.http.write("{ connections: ")
luci.http.write_json(sys.net.conntrack())
- if fs.access("/var/lib/luci-bwc/connections") then
- local bwc = io.popen("luci-bwc -c 2>/dev/null")
- if bwc then
- luci.http.write(", statistics: [")
+ local bwc = io.popen("luci-bwc -c 2>/dev/null")
+ if bwc then
+ luci.http.write(", statistics: [")
- while true do
- local ln = bwc:read("*l")
- if not ln then break end
- luci.http.write(ln)
- end
-
- luci.http.write("]")
- bwc:close()
+ while true do
+ local ln = bwc:read("*l")
+ if not ln then break end
+ luci.http.write(ln)
end
+
+ luci.http.write("]")
+ bwc:close()
end
luci.http.write(" }")