summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-livestats/luasrc/view
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2008-10-18 21:51:44 +0000
committerJo-Philipp Wich <jow@openwrt.org>2008-10-18 21:51:44 +0000
commite39b2bff3f01f299201d6c394cbeb7e28e852758 (patch)
tree7df1567cb16ca486a442bd6df408dae913ad3e4a /applications/luci-livestats/luasrc/view
parent758c06df583f439f625d5a62688d291654234e5b (diff)
* luci/applications: add experimental realtime statistics
Diffstat (limited to 'applications/luci-livestats/luasrc/view')
-rw-r--r--applications/luci-livestats/luasrc/view/livestats/loadavg.htm44
-rw-r--r--applications/luci-livestats/luasrc/view/livestats/traffic.htm54
-rw-r--r--applications/luci-livestats/luasrc/view/livestats/wireless.htm30
3 files changed, 128 insertions, 0 deletions
diff --git a/applications/luci-livestats/luasrc/view/livestats/loadavg.htm b/applications/luci-livestats/luasrc/view/livestats/loadavg.htm
new file mode 100644
index 0000000000..a4e8fae00a
--- /dev/null
+++ b/applications/luci-livestats/luasrc/view/livestats/loadavg.htm
@@ -0,0 +1,44 @@
+<%+header%>
+
+<!--[if IE]><script type="text/javascript" src="<%=resource%>/livestats/ExCanvas.js"></script><![endif]-->
+<script type="text/javascript" src="<%=resource%>/livestats/MochiKit.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/JsonRpc.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/PlotKit.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/GraphRPC.js"></script>
+
+<script type="text/javascript">
+ PlotKit.Base.baseColors = function () {
+ var hexColor = MochiKit.Color.Color.fromHexString;
+ return [hexColor("#ff0000"),
+ hexColor("#ff6000"),
+ hexColor("#fff000"),
+ hexColor("#00ff00"),
+ hexColor("#00ff77"),
+ hexColor("#0090ff"),
+ hexColor("#000000")];
+ };
+
+ function initGraphs() {
+ var rpc = new GraphRPC(
+ document.getElementById('live_graphs'),
+ '<%=luci.dispatcher.build_url('rpc', 'sys')%>', 'loadavg',
+ 2000,
+
+ // Data sources
+ [ "1", "1 Minute Load", "2", "5 Minutes Load", "3", "15 Minutes Load" ],
+
+ // Graph layout options
+ { shouldFill: false, strokeColor: null,
+ strokeColorTransform: "asFillColor",
+ title: 'Average Load', strokeWidth: 1,
+ padding: { left: 70, right: 10, top: 10, bottom: 20 },
+ instances: [ false ] }
+ );
+ }
+
+ MochiKit.DOM.addLoadEvent(initGraphs);
+</script>
+
+<div id="live_graphs"></div>
+
+<%+footer%>
diff --git a/applications/luci-livestats/luasrc/view/livestats/traffic.htm b/applications/luci-livestats/luasrc/view/livestats/traffic.htm
new file mode 100644
index 0000000000..d914fddc44
--- /dev/null
+++ b/applications/luci-livestats/luasrc/view/livestats/traffic.htm
@@ -0,0 +1,54 @@
+<%+header%>
+
+<!--[if IE]><script type="text/javascript" src="<%=resource%>/livestats/ExCanvas.js"></script><![endif]-->
+<script type="text/javascript" src="<%=resource%>/livestats/MochiKit.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/JsonRpc.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/PlotKit.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/GraphRPC.js"></script>
+
+<%
+ local interfaces = { }
+ local uci = luci.model.uci.cursor_state()
+
+ uci:foreach("network", "interface",
+ function(s)
+ if s.ifname ~= "lo" then
+ table.insert( interfaces,
+ "'" .. ( s.ifname or s['.name'] ) .. "'"
+ )
+ end
+ end
+ )
+-%>
+
+<script type="text/javascript">
+ function initGraphs() {
+ var rpc = new GraphRPC(
+ document.getElementById('live_graphs'),
+ '<%=luci.dispatcher.build_url('rpc', 'sys')%>', 'net.deviceinfo',
+ 2000,
+
+ // Data sources
+ [ "1", "received Bytes/s", "9", "transmitted Bytes/s" ],
+
+ // Graph layout options
+ { shouldFill: false, strokeColor: null,
+ strokeColorTransform: "asFillColor",
+ title: 'Traffic on interface "%s"',
+ separateDS: true, strokeWidth: 0.5, height: 140,
+ padding: { left: 70, right: 10, top: 10, bottom: 20 },
+ instances: [ <%=table.concat(interfaces, ", ") %> ] },
+
+ // transform function
+ function(thisval, lastval) {
+ return ( ( thisval - lastval ) / 2 );
+ }
+ );
+ }
+
+ MochiKit.DOM.addLoadEvent(initGraphs);
+</script>
+
+<div id="live_graphs"></div>
+
+<%+footer%>
diff --git a/applications/luci-livestats/luasrc/view/livestats/wireless.htm b/applications/luci-livestats/luasrc/view/livestats/wireless.htm
new file mode 100644
index 0000000000..2ee60139e0
--- /dev/null
+++ b/applications/luci-livestats/luasrc/view/livestats/wireless.htm
@@ -0,0 +1,30 @@
+<%+header%>
+
+<!--[if IE]><script type="text/javascript" src="<%=resource%>/livestats/ExCanvas.js"></script><![endif]-->
+<script type="text/javascript" src="<%=resource%>/livestats/MochiKit.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/JsonRpc.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/PlotKit.js"></script>
+<script type="text/javascript" src="<%=resource%>/livestats/GraphRPC.js"></script>
+
+<script type="text/javascript">
+ function initGraphs() {
+ var rpc = new GraphRPC(
+ document.getElementById('live_graphs'),
+ '<%=luci.dispatcher.build_url('rpc', 'sys')%>', 'wifi.getiwconfig',
+ 1500,
+
+ // Data sources
+ [ "Noise level", null, "Signal level", null ],
+
+ // Graph layout options
+ { yAxis: [ 0, 150 ], title: 'Wifi Interface "%s": Signal and Noise',
+ padding: { left: 40, right: 10, top: 10, bottom: 20 } }
+ );
+ }
+
+ MochiKit.DOM.addLoadEvent(initGraphs);
+</script>
+
+<div id="live_graphs"></div>
+
+<%+footer%>