Merge pull request #908 from midoks/dev

常规更新
This commit is contained in:
Mr Chen
2026-06-20 18:56:05 +08:00
committed by GitHub
3 changed files with 112 additions and 16 deletions
+2
View File
@@ -439,6 +439,7 @@ def runInfo():
data['Reading'] = tmp[11]
data['Writing'] = tmp[13]
data['Waiting'] = tmp[15]
data["time"] = time.time()
return mw.getJson(data)
except Exception as e:
try:
@@ -453,6 +454,7 @@ def runInfo():
data['Reading'] = tmp[11]
data['Writing'] = tmp[13]
data['Waiting'] = tmp[15]
data["time"] = time.time()
return mw.getJson(data)
except Exception as e:
return mw.returnJson(False, "oprenresty异常!")
+98 -15
View File
@@ -109,36 +109,119 @@ function orPluginOpServiceOp(a,b,c,d,a,v,request_callback){
});
}
var optmp_status = null;
var optmp_timer = null;
//查看Nginx负载状态
function getOpStatus() {
function getOpStatus(){
var con = "<div><table class='table table-hover table-bordered op_status'>\
<tr><th>活动连接(Active connections)</th><td class='op_active'>0</td></tr>\
<tr><th>总连接次数(accepts)</th><td class='op_accepts'>0</td></tr>\
<tr><th>总握手次数(handled)</th><td class='op_handled'>0</td></tr>\
<tr><th>总请求数(requests)</th><td class='op_requests'>0</td></tr>\
<tr><th>请求数(Reading)</th><td class='op_reading'>0</td></tr>\
<tr><th>响应数(Writing)</th><td class='op_writing'>0</td></tr>\
<tr><th>驻留进程(Waiting)</th><td class='op_waiting'>0</td></tr>\
<tr><th>请求时间(time)</th><td class='op_waiting'>0</td></tr>\
</table></div>";
$(".soft-man-con").html(con);
getOpStatusOne();
clearInterval(optmp_timer);
optmp_timer = setInterval(function(){
if ($(".soft-man-con").length == 0){
clearInterval(optmp_timer);
}
getOpStatusInterval();
}, 5000);
}
function getOpStatusOne(){
var loadT = layer.msg('正在处理,请稍后...', { icon: 16, time: 0, shade: 0.3 });
$.post('/plugins/run', {name:'openresty', func:'run_info'}, function(data) {
layer.close(loadT);
layer.close(loadT);
try {
var rdata = $.parseJSON(data.data);
if ('status' in rdata && !rdata.status){
showMsg(rdata.msg, function(){}, null,3000);
showMsg(rdata.msg, function(){
var con = "<tr><th>Error</th><td>" + rdata.msg + "</td></tr>";
$(".soft-man-con .op_status").html(con);
}, null,3000);
return;
}
var con = "<div><table class='table table-hover table-bordered'>\
<tr><th>活动连接(Active connections)</th><td>" + rdata.active + "</td></tr>\
<tr><th>总连接次数(accepts)</th><td>" + rdata.accepts + "</td></tr>\
<tr><th>总握手次数(handled)</th><td>" + rdata.handled + "</td></tr>\
<tr><th>总请求数(requests)</th><td>" + rdata.requests + "</td></tr>\
<tr><th>请求数(Reading)</th><td>" + rdata.Reading + "</td></tr>\
<tr><th>响应数(Writing)</th><td>" + rdata.Writing + "</td></tr>\
<tr><th>驻留进程(Waiting)</th><td>" + rdata.Waiting + "</td></tr>\
</table></div>";
$(".soft-man-con").html(con);
}catch(err){
showMsg(data.data, function(){}, null,3000);
optmp_status = rdata;
var con = "<tr><th>活动连接(Active connections)</th><td>" + rdata.active + "</td></tr>\
<tr><th>总连接次数(accepts)</th><td>" + rdata.accepts + "</td></tr>\
<tr><th>总握手次数(handled)</th><td>" + rdata.handled + "</td></tr>\
<tr><th>总请求数(requests)</th><td>" + rdata.requests + "</td></tr>\
<tr><th>请求数(Reading)</th><td>" + rdata.Reading + "</td></tr>\
<tr><th>响应数(Writing)</th><td>" + rdata.Writing + "</td></tr>\
<tr><th>驻留进程(Waiting)</th><td>" + rdata.Waiting + "</td></tr>\
<tr><th>请求时间(time)</th><td class='op_waiting'>"+formatTimestamp(rdata.time)+"</td></tr>";
$(".soft-man-con .op_status").html(con);
} catch(err) {
showMsg(data.data, function(){
var con = "<tr><th>Error</th><td>" + err + "</td></tr>";
$(".soft-man-con .op_status").html(con);
}, null,3000);
}
},'json');
}
function getOpStatusInterval(){
$.post('/plugins/run', {name:'openresty', func:'run_info'}, function(data) {
try {
var rdata = $.parseJSON(data.data);
if ('status' in rdata && !rdata.status){
showMsg(rdata.msg, function(){
var con = "<tr><th>Error</th><td>" + rdata.msg + "</td></tr>";
$(".soft-man-con .op_status").html(con);
}, null,3000);
return;
}
var qbs = "";
if (optmp_status){
var time_diff = rdata.time - optmp_status.time;
var requests_diff = rdata.accepts - optmp_status.accepts;
// 检查除数是否有效
if (time_diff > 0) {
var qbs_nums = requests_diff / time_diff;
// 保留两位小数,并处理 NaN 和 Infinity
qbs_nums = isFinite(qbs_nums) ? qbs_nums.toFixed(2) : '0.00';
} else {
qbs_nums = '0.00';
}
console.log('QPS:', qbs_nums);
qbs = "<tr><th>计算(QPS)</th><td>"+qbs_nums+"</td></tr>";
}
optmp_status = rdata;
var con = "<tr><th>活动连接(Active connections)</th><td>" + rdata.active + "</td></tr>\
<tr><th>总连接次数(accepts)</th><td>" + rdata.accepts + "</td></tr>\
<tr><th>总握手次数(handled)</th><td>" + rdata.handled + "</td></tr>\
<tr><th>总请求数(requests)</th><td>" + rdata.requests + "</td></tr>\
<tr><th>请求数(Reading)</th><td>" + rdata.Reading + "</td></tr>\
<tr><th>响应数(Writing)</th><td>" + rdata.Writing + "</td></tr>\
<tr><th>驻留进程(Waiting)</th><td>" + rdata.Waiting + "</td></tr>" + qbs +
"<tr><th>请求时间(time)</th><td class='op_waiting'>"+formatTimestamp(rdata.time)+"</td></tr>";;
$(".soft-man-con .op_status").html(con);
} catch(err) {
showMsg(data.data, function(){
var con = "<tr><th>Error</th><td>" + err + "</td></tr>";
$(".soft-man-con .op_status").html(con);
}, null,3000);
}
},'json');
}
function setOpCfg(){
orPost('get_cfg', {}, function(data){
var rdata = $.parseJSON(data.data);
+12 -1
View File
@@ -256,7 +256,18 @@ function getFormatTime(tm, format) {
return format;
}
// 格式化时间戳为 YYYY-MM-DD HH:ii:ss
function formatTimestamp(timestamp) {
if (!timestamp || timestamp === '') return '';
var date = new Date(timestamp * 1000); // 假设是秒级时间戳
var year = date.getFullYear();
var month = String(date.getMonth() + 1).padStart(2, '0');
var day = String(date.getDate()).padStart(2, '0');
var hours = String(date.getHours()).padStart(2, '0');
var minutes = String(date.getMinutes()).padStart(2, '0');
var seconds = String(date.getSeconds()).padStart(2, '0');
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
}
function changePathCallback(default_dir, callback) {
var c = layer.open({