| 
1995
 | 
     1 require "site:/init.luan"
 | 
| 
 | 
     2 local Luan = require "luan:Luan.luan"
 | 
| 
 | 
     3 local error = Luan.error
 | 
| 
 | 
     4 local Io = require "luan:Io.luan"
 | 
| 
 | 
     5 local uri = Io.uri or error()
 | 
| 
 | 
     6 local String = require "luan:String.luan"
 | 
| 
 | 
     7 local Http = require "luan:http/Http.luan"
 | 
| 
 | 
     8 require "java"
 | 
| 
 | 
     9 local Runtime = require "java:java.lang.Runtime"
 | 
| 
 | 
    10 local System = require "java:java.lang.System"
 | 
| 
 | 
    11 local Server = require "java:goodjava.webserver.Server"
 | 
| 
 | 
    12 
 | 
| 
 | 
    13 
 | 
| 
 | 
    14 return function()
 | 
| 
 | 
    15 	local action = Http.request.parameters.action
 | 
| 
 | 
    16 	if action == "gc" then
 | 
| 
 | 
    17 		System.gc()
 | 
| 
 | 
    18 		Http.response.send_redirect "admin.html"
 | 
| 
 | 
    19 		return
 | 
| 
 | 
    20 	end
 | 
| 
 | 
    21 
 | 
| 
 | 
    22 	Io.stdout = Http.response.text_writer()
 | 
| 
 | 
    23 
 | 
| 
 | 
    24 	local oneMega = 1024 * 1024;
 | 
| 
 | 
    25 	local free = Runtime.getRuntime().freeMemory() / oneMega;
 | 
| 
 | 
    26 	local total = Runtime.getRuntime().totalMemory() / oneMega;
 | 
| 
 | 
    27 	local used = total - free;
 | 
| 
 | 
    28 
 | 
| 
 | 
    29 	local loadAverage = uri("os:uptime").read_text()
 | 
| 
 | 
    30 	--local loadAverage = new String(result).replaceAll(".*average:","");
 | 
| 
 | 
    31 
 | 
| 
 | 
    32 	local threadPool = Server.threadPool
 | 
| 
 | 
    33 	local threads = threadPool.getPoolSize()
 | 
| 
 | 
    34 	local active_threads = threadPool.getActiveCount()
 | 
| 
 | 
    35 %>
 | 
| 
 | 
    36 <!doctype html>
 | 
| 
 | 
    37 <html lang="en">
 | 
| 
 | 
    38 	<body>
 | 
| 
 | 
    39 
 | 
| 
 | 
    40 		<table>
 | 
| 
 | 
    41 			<tr>
 | 
| 
 | 
    42 				<td>Free Memory</td>
 | 
| 
 | 
    43 				<td>
 | 
| 
 | 
    44 					<%=String.format("%.2f",free)%> Mb
 | 
| 
 | 
    45 				</td>
 | 
| 
 | 
    46 			</tr>
 | 
| 
 | 
    47 			<tr>
 | 
| 
 | 
    48 				<td>Used Memory</td>
 | 
| 
 | 
    49 				<td><%=String.format("%.2f",used)%> Mb</td>
 | 
| 
 | 
    50 			</tr>
 | 
| 
 | 
    51 			<tr>
 | 
| 
 | 
    52 				<td>Total Memory</td>
 | 
| 
 | 
    53 				<td><%=String.format("%.2f",total)%> Mb</td>
 | 
| 
 | 
    54 			</tr>
 | 
| 
 | 
    55 			<tr>
 | 
| 
 | 
    56 				<td>Load Average</td>
 | 
| 
 | 
    57 				<td><%=loadAverage%></td>
 | 
| 
 | 
    58 			</tr>
 | 
| 
 | 
    59 			<tr>
 | 
| 
 | 
    60 				<td>Threads</td>
 | 
| 
 | 
    61 				<td><%= active_threads %> active, <%= threads - active_threads %> idle</td>
 | 
| 
 | 
    62 			</tr>
 | 
| 
 | 
    63 		<table>
 | 
| 
 | 
    64 
 | 
| 
 | 
    65 		<p><a href="admin.html?action=gc">Run GC</a></p>
 | 
| 
 | 
    66 
 | 
| 
 | 
    67 	</body>
 | 
| 
 | 
    68 </html>
 | 
| 
 | 
    69 <%
 | 
| 
 | 
    70 end
 |