Mercurial Hosting > luan
diff host/admin/src/private/tools/admin.html.luan @ 1995:301a6561fb6b
add host/admin
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 04 Jul 2025 10:25:38 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/host/admin/src/private/tools/admin.html.luan Fri Jul 04 10:25:38 2025 -0600 @@ -0,0 +1,70 @@ +require "site:/init.luan" +local Luan = require "luan:Luan.luan" +local error = Luan.error +local Io = require "luan:Io.luan" +local uri = Io.uri or error() +local String = require "luan:String.luan" +local Http = require "luan:http/Http.luan" +require "java" +local Runtime = require "java:java.lang.Runtime" +local System = require "java:java.lang.System" +local Server = require "java:goodjava.webserver.Server" + + +return function() + local action = Http.request.parameters.action + if action == "gc" then + System.gc() + Http.response.send_redirect "admin.html" + return + end + + Io.stdout = Http.response.text_writer() + + local oneMega = 1024 * 1024; + local free = Runtime.getRuntime().freeMemory() / oneMega; + local total = Runtime.getRuntime().totalMemory() / oneMega; + local used = total - free; + + local loadAverage = uri("os:uptime").read_text() + --local loadAverage = new String(result).replaceAll(".*average:",""); + + local threadPool = Server.threadPool + local threads = threadPool.getPoolSize() + local active_threads = threadPool.getActiveCount() +%> +<!doctype html> +<html lang="en"> + <body> + + <table> + <tr> + <td>Free Memory</td> + <td> + <%=String.format("%.2f",free)%> Mb + </td> + </tr> + <tr> + <td>Used Memory</td> + <td><%=String.format("%.2f",used)%> Mb</td> + </tr> + <tr> + <td>Total Memory</td> + <td><%=String.format("%.2f",total)%> Mb</td> + </tr> + <tr> + <td>Load Average</td> + <td><%=loadAverage%></td> + </tr> + <tr> + <td>Threads</td> + <td><%= active_threads %> active, <%= threads - active_threads %> idle</td> + </tr> + <table> + + <p><a href="admin.html?action=gc">Run GC</a></p> + + </body> +</html> +<% +end