feat add spdlog
Some checks failed
sm-rpc / build (Debug, aarch64-linux-gnu) (push) Failing after 29s
sm-rpc / build (Debug, arm-linux-gnueabihf) (push) Failing after 16s
sm-rpc / build (Debug, host.gcc) (push) Failing after 11s
sm-rpc / build (Debug, mipsel-linux-gnu) (push) Failing after 12s
sm-rpc / build (Release, aarch64-linux-gnu) (push) Failing after 11s
sm-rpc / build (Release, arm-linux-gnueabihf) (push) Failing after 11s
sm-rpc / build (Release, host.gcc) (push) Failing after 12s
sm-rpc / build (Release, mipsel-linux-gnu) (push) Failing after 16s
Some checks failed
sm-rpc / build (Debug, aarch64-linux-gnu) (push) Failing after 29s
sm-rpc / build (Debug, arm-linux-gnueabihf) (push) Failing after 16s
sm-rpc / build (Debug, host.gcc) (push) Failing after 11s
sm-rpc / build (Debug, mipsel-linux-gnu) (push) Failing after 12s
sm-rpc / build (Release, aarch64-linux-gnu) (push) Failing after 11s
sm-rpc / build (Release, arm-linux-gnueabihf) (push) Failing after 11s
sm-rpc / build (Release, host.gcc) (push) Failing after 12s
sm-rpc / build (Release, mipsel-linux-gnu) (push) Failing after 16s
This commit is contained in:
137
third_party/prometheus/3rdparty/civetweb/test/ws_status.lua
vendored
Normal file
137
third_party/prometheus/3rdparty/civetweb/test/ws_status.lua
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
if mg.lua_type ~= "websocket" then
|
||||
mg.write("HTTP/1.0 200 OK\r\n")
|
||||
mg.write("Connection: close\r\n")
|
||||
mg.write("\r\n")
|
||||
mg.write("<!DOCTYPE HTML>\r\n")
|
||||
mg.write("<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n")
|
||||
mg.write("<head>\r\n")
|
||||
mg.write("<meta charset=\"UTF-8\"></meta>\r\n")
|
||||
mg.write("<title>Server stats</title>\r\n")
|
||||
mg.write("</head>\r\n")
|
||||
mg.write("<body onload=\"load()\">\r\n")
|
||||
mg.write([====[
|
||||
<script type="text/javascript">
|
||||
|
||||
var connection;
|
||||
var data_field;
|
||||
|
||||
function webSockKeepAlive() {
|
||||
if (keepAlive) {
|
||||
connection.send('Ok');
|
||||
setTimeout("webSockKeepAlive()", 10000);
|
||||
}
|
||||
}
|
||||
|
||||
function load() {
|
||||
var wsproto = (location.protocol === 'https:') ? "wss:" : "ws:";
|
||||
connection = new WebSocket(wsproto + "//" + window.location.host + window.location.pathname);
|
||||
data_field = document.getElementById('data');
|
||||
|
||||
data_field.innerHTML = "wait for data";
|
||||
|
||||
use_keepAlive = true;
|
||||
|
||||
connection.onopen = function () {
|
||||
keepAlive = use_keepAlive;
|
||||
webSockKeepAlive();
|
||||
};
|
||||
|
||||
// Log errors
|
||||
connection.onerror = function (error) {
|
||||
keepAlive = false;
|
||||
alert("WebSocket error");
|
||||
connection.close();
|
||||
};
|
||||
|
||||
// Log messages from the server
|
||||
connection.onmessage = function (e) {
|
||||
data_field.innerHTML = e.data;
|
||||
};
|
||||
}
|
||||
|
||||
</script>
|
||||
]====])
|
||||
|
||||
mg.write("<div id='data'>Wait for page load</div>\r\n")
|
||||
mg.write("</body>\r\n")
|
||||
mg.write("</html>\r\n")
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
function table.count(tab)
|
||||
local count = 0
|
||||
for _ in pairs(tab) do
|
||||
count = count + 1
|
||||
end
|
||||
return count
|
||||
end
|
||||
|
||||
|
||||
-- table of all active connection
|
||||
allConnections = {}
|
||||
connCount = table.count(allConnections)
|
||||
|
||||
|
||||
-- function to get a client identification string
|
||||
function who(tab)
|
||||
local ri = allConnections[tab.client].request_info
|
||||
return ri.remote_addr .. ":" .. ri.remote_port
|
||||
end
|
||||
|
||||
-- Callback to accept or reject a connection
|
||||
function open(tab)
|
||||
allConnections[tab.client] = tab
|
||||
connCount = table.count(allConnections)
|
||||
return true -- return true to accept the connection
|
||||
end
|
||||
|
||||
-- Callback for "Websocket ready"
|
||||
function ready(tab)
|
||||
senddata()
|
||||
return true -- return true to keep the connection open
|
||||
end
|
||||
|
||||
-- Callback for "Websocket received data"
|
||||
function data(tab)
|
||||
senddata()
|
||||
return true -- return true to keep the connection open
|
||||
end
|
||||
|
||||
-- Callback for "Websocket is closing"
|
||||
function close(tab)
|
||||
allConnections[tab.client] = nil
|
||||
connCount = table.count(allConnections)
|
||||
end
|
||||
|
||||
function senddata()
|
||||
local date = os.date('*t');
|
||||
|
||||
collectgarbage("collect"); -- Avoid adding uncollected Lua memory from this state
|
||||
|
||||
mg.write(string.format([[
|
||||
{"Time": "%u:%02u:%02u",
|
||||
"Date": "%04u-%02u-%02u",
|
||||
"Context": %s,
|
||||
"Common": %s,
|
||||
"System": \"%s\",
|
||||
"ws_status": {"Memory": %u, "Connections": %u}
|
||||
}]],
|
||||
date.hour, date.min, date.sec,
|
||||
date.year, date.month, date.day,
|
||||
mg.get_info("context"),
|
||||
mg.get_info("common"),
|
||||
mg.get_info("system"),
|
||||
collectgarbage("count")*1024,
|
||||
connCount
|
||||
));
|
||||
|
||||
end
|
||||
|
||||
function timer()
|
||||
senddata()
|
||||
mg.set_timeout("timer()", 1)
|
||||
end
|
||||
|
||||
mg.set_timeout("timer()", 1)
|
||||
|
Reference in New Issue
Block a user