* luci: add memory status patches from soma
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 14 Jul 2008 15:54:53 +0000 (15:54 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 14 Jul 2008 15:54:53 +0000 (15:54 +0000)
libs/core/luasrc/sys.lua
modules/freifunk/luasrc/controller/freifunk/freifunk.lua
modules/freifunk/luasrc/i18n/freifunk.de.lua
modules/freifunk/luasrc/view/public_status/index.htm
themes/fledermaus/htdocs/luci-static/fledermaus/cascade.css
themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css

index e5f19f2..d0195c5 100644 (file)
@@ -110,22 +110,29 @@ function sysinfo()
        local c2 = "uname -m 2>/dev/null"
        local c3 = "cat /proc/cpuinfo|grep model\\ name|cut -d: -f2 2>/dev/null"
        local c4 = "cat /proc/cpuinfo|grep cpu\\ model|cut -d: -f2 2>/dev/null"
        local c2 = "uname -m 2>/dev/null"
        local c3 = "cat /proc/cpuinfo|grep model\\ name|cut -d: -f2 2>/dev/null"
        local c4 = "cat /proc/cpuinfo|grep cpu\\ model|cut -d: -f2 2>/dev/null"
-       local c5 = "cat /proc/meminfo|grep MemTotal|cut -d: -f2 2>/dev/null"
-       
-       local s = luci.util.trim(exec(c1))
-       local m = ""
-       local r = ""
-       
-       if s == "" then
-               s = luci.util.trim(exec(c2))
-               m = luci.util.trim(exec(c3))
+       local c5 = "cat /proc/meminfo|grep MemTotal|awk {' print $2 '} 2>/dev/null"
+       local c6 = "cat /proc/meminfo|grep ^Cached|awk {' print $2 '} 2>/dev/null"
+       local c7 = "cat /proc/meminfo|grep MemFree|awk {' print $2 '} 2>/dev/null"
+       local c8 = "cat /proc/meminfo|grep Buffers|awk {' print $2 '} 2>/dev/null"
+       
+       local system = luci.util.trim(exec(c1))
+       local model = ""              
+       local memtotal = luci.util.trim(exec(c5))
+       local memcached = luci.util.trim(exec(c6))
+       local memfree = luci.util.trim(exec(c7))
+       local membuffers = luci.util.trim(exec(c8))
+       local perc_memfree = math.floor((memfree/memtotal)*100)
+       local perc_membuffers = math.floor((membuffers/memtotal)*100)
+       local perc_memcached = math.floor((memcached/memtotal)*100)
+
+       if system == "" then
+               system = luci.util.trim(exec(c2))
+               model = luci.util.trim(exec(c3))
        else
        else
-               m = luci.util.trim(exec(c4))
+               model = luci.util.trim(exec(c4))
        end
        end
-       
-       r = luci.util.trim(exec(c5))
-       
-       return s, m, r
+
+       return system, model, memtotal, memcached, membuffers, memfree, perc_memfree, perc_membuffers, perc_memcached
 end
 
 -- Reads the syslog
 end
 
 -- Reads the syslog
index 78cb92f..351a094 100644 (file)
@@ -67,7 +67,8 @@ end
 function action_status()
        local data = {}
        
 function action_status()
        local data = {}
        
-       data.s, data.m, data.r = luci.sys.sysinfo()
+       data.system, data.model, data.memtotal, data.memcached, data.membuffers, data.memfree, data.perc_memfree, data.perc_membuffers, data.perc_memcached = luci.sys.sysinfo()
+
        
        data.wifi = luci.sys.wifi.getiwconfig()
        
        
        data.wifi = luci.sys.wifi.getiwconfig()
        
index e54e9b0..e662163 100644 (file)
@@ -14,4 +14,8 @@ node = [[Knoten]]
 note = [[Notiz]]
 phone = [[Telefon]]
 ram = [[Hauptspeicher]]
 note = [[Notiz]]
 phone = [[Telefon]]
 ram = [[Hauptspeicher]]
+free = [[Frei]]
+buffers = [[Buffers]]
+cached = [[Cached]]
+total = [[Gesamt]]
 geocoord = [[Geokoordinaten]]
\ No newline at end of file
 geocoord = [[Geokoordinaten]]
\ No newline at end of file
index 5789e3a..a10f22f 100644 (file)
@@ -20,15 +20,21 @@ $Id$
 <table cellspacing="0" cellpadding="6" class="smalltext">
 <tr>
 <th><%:system_type%>:</th>
 <table cellspacing="0" cellpadding="6" class="smalltext">
 <tr>
 <th><%:system_type%>:</th>
-<td><%=s%></td>
+<td><%=system%></td>
 </tr>
 <tr>
 <th><%:cpu%>:</th>
 </tr>
 <tr>
 <th><%:cpu%>:</th>
-<td><%=m%></td>
+<td><%=model%></td>
 </tr>
 <tr>
 </tr>
 <tr>
-<th><%:ram%>:</th>
-<td><%=r%></td>
+<th><%:ram%>:<br /><small><%:total%>/<%:cached%>/<%:buffers%>/<%:free%></small></th>
+<td><%=memtotal%> / <%=memcached%> / <%=membuffers%> / <%=memfree%> KB<br />
+<div id="memorybar">
+       <div id="memfree" style="width:<%=perc_memfree%>%"></div> 
+       <div id="membuffers" style="width:<%=perc_membuffers%>%"></div>
+       <div id="memcached" style="width:<%=perc_memcached%>%"></div>
+</div>
+</td>
 </tr>
 </table>
 <br /><br />
 </tr>
 </table>
 <br /><br />
index 8f30015..89db2e5 100644 (file)
@@ -294,4 +294,30 @@ code {
 .ok {
        color: green;
        font-weight: bold;
 .ok {
        color: green;
        font-weight: bold;
-}
\ No newline at end of file
+}
+
+#memorybar {
+       width:200px;
+       height:9px;
+       border:1px solid #bbb;
+       background-color: #262626;
+}
+
+#memfree, #membuffers, #memcached {
+       float:right;
+       border:1px solid #262626;
+       height:7px;
+}
+
+#memfree {
+       background-color:green;
+}
+
+#membuffers {
+       background-color:#ffcb05;
+}
+
+#memcached {
+       background-color:#dc0065;
+}
+
index 824b04b..de3246b 100644 (file)
@@ -354,6 +354,31 @@ td.cbi-section-table-optionals {
        font-size: 70%;
 }
 
        font-size: 70%;
 }
 
+#memorybar {
+       width:200px;
+       height:8px;
+       border:1px solid #bbb;
+       background-color:red
+}
+
+#memfree, #membuffers, #memcached {
+       float:right;
+       border:1px solid #bbb;
+       height:6px;
+}
+
+#memfree {
+       background-color:green;
+}
+
+#membuffers {
+       background-color:yellow;
+}
+
+#memcached {
+       background-color:orange;
+}
+
 
 /* obligatory IE6 Voodoo Code */
 * html body {
 
 /* obligatory IE6 Voodoo Code */
 * html body {
@@ -406,3 +431,4 @@ td.cbi-section-table-optionals {
 * html div.cbi-value-description {
        margin-left: 40%;
 }
 * html div.cbi-value-description {
        margin-left: 40%;
 }
+