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
|