pull/522/head
Mr Chen 1 year ago
parent 087cb4fc37
commit f83bdffed8
  1. 35
      plugins/data_query/sql_mysql.py
  2. 7
      plugins/data_query/static/html/index.html
  3. 99
      plugins/data_query/static/js/app.js

@ -233,6 +233,32 @@ class nosqlMySQLCtr():
rdata['list'] = result
return mw.returnData(True,'ok', rdata)
def showStatusList(self,args):
sql = 'show status';
sid = args['sid']
my_instance = self.getInstanceBySid(sid).conn()
if my_instance is False:
return mw.returnData(False,'无法链接')
result = my_instance.query(sql)
rdata = {}
rdata['list'] = result
return mw.returnData(True,'ok', rdata)
def showStatsList(self, args):
sql = "show status like 'Com_%'";
sid = args['sid']
my_instance = self.getInstanceBySid(sid).conn()
if my_instance is False:
return mw.returnData(False,'无法链接')
result = my_instance.query(sql)
rdata = {}
rdata['list'] = result
return mw.returnData(True,'ok', rdata)
# ---------------------------------- run ----------------------------------
# 获取 mysql 列表
def get_db_list(args):
@ -252,6 +278,15 @@ def get_proccess_list(args):
t = nosqlMySQLCtr()
return t.showProcessList(args)
def get_status_list(args):
t = nosqlMySQLCtr()
return t.showStatusList(args)
def get_stats_list(args):
t = nosqlMySQLCtr()
return t.showStatsList(args)
# 测试
def test(args):
sid = args['sid']

@ -81,10 +81,9 @@
<div class="col-md-12" style="padding-left: 3px;">
<div id="mysql_list_tab" style="padding-top:0px;">
<div class="tab-nav">
<span data-id="0" class="on">进程</span>
<span data-id="1" class="">变量</span>
<span data-id="2" class="">状态</span>
<span data-id="3" class="">统计</span>
<span data-name="proccess" class="on">进程</span>
<span data-name="status" class="">状态</span>
<span data-name="stats" class="">统计</span>
</div>
</div>

@ -252,9 +252,30 @@ function initTabMySQL(){
mysqlGetDbList();
mysqlProcessList();
setInterval(function(){
mysqlProcessList();
var mysql_timer = setInterval(function(){
var name = $('#mysql_list_tab .tab-nav span.on').data('name');
mysqlRunMysqlTab(name);
var fname = $('#cutTab .tab-list .active').data('name');
if (fname != 'mysql'){
clearInterval(mysql_timer);
}
},2000);
$('#mysql_list_tab .tab-nav span').click(function(){
$('#mysql_list_tab .tab-nav span').removeClass('on');
$(this).addClass('on');
var name = $(this).data('name');
mysqlRunMysqlTab(name);
});
}
function mysqlRunMysqlTab(name){
switch(name){
case 'proccess':mysqlProcessList();break;
case 'status':mysqlStatusList();break;
case 'stats':mysqlStatsList();break;
}
}
// ------------------------- mysql start -------------------------------
@ -421,6 +442,79 @@ function mysqlProcessList(){
var request_data = {};
request_data['sid'] = sid;
myPostCBN('get_proccess_list',request_data ,function(rdata){
if (rdata.data.status){
var data = rdata.data.data;
var dlist = data['list'];
var fields = mongodbGetDataFields(dlist);
var header_field = '';
for (var i =0 ; i<fields.length ; i++) {
header_field += '<th>'+fields[i]+'</th>';
}
$('#mysql_ot_table thead tr').html(header_field);
var tbody = '';
for (var i = 0; i < dlist.length; i++) {
tbody += '<tr>';
for (var j = 0; j < fields.length; j++) {
var f = fields[j];
if (f in dlist[i]) {
tbody += '<td>'+dlist[i][f]+'</td>';
} else {
tbody += '<td>undefined</td>';
}
}
tbody += '</tr>';
}
$('#mysql_ot_table tbody').html(tbody);
}
});
}
function mysqlStatusList(){
var sid = mysqlGetSid();
var request_data = {};
request_data['sid'] = sid;
myPostCBN('get_status_list',request_data ,function(rdata){
console.log(rdata);
if (rdata.data.status){
var data = rdata.data.data;
var dlist = data['list'];
var fields = mongodbGetDataFields(dlist);
var header_field = '';
for (var i =0 ; i<fields.length ; i++) {
header_field += '<th>'+fields[i]+'</th>';
}
$('#mysql_ot_table thead tr').html(header_field);
var tbody = '';
for (var i = 0; i < dlist.length; i++) {
tbody += '<tr>';
for (var j = 0; j < fields.length; j++) {
var f = fields[j];
if (f in dlist[i]) {
tbody += '<td>'+dlist[i][f]+'</td>';
} else {
tbody += '<td>undefined</td>';
}
}
tbody += '</tr>';
}
$('#mysql_ot_table tbody').html(tbody);
}
});
}
function mysqlStatsList(){
var sid = mysqlGetSid();
var request_data = {};
request_data['sid'] = sid;
myPostCBN('get_stats_list',request_data ,function(rdata){
console.log(rdata);
if (rdata.data.status){
var data = rdata.data.data;
@ -449,7 +543,6 @@ function mysqlProcessList(){
}
$('#mysql_ot_table tbody').html(tbody);
}
});
}

Loading…
Cancel
Save