diff --git a/plugins/data_query/sql_mysql.py b/plugins/data_query/sql_mysql.py
index a0ac7bbb9..31d31eb7f 100755
--- a/plugins/data_query/sql_mysql.py
+++ b/plugins/data_query/sql_mysql.py
@@ -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']
diff --git a/plugins/data_query/static/html/index.html b/plugins/data_query/static/html/index.html
index 9a1a65d56..95292cf54 100644
--- a/plugins/data_query/static/html/index.html
+++ b/plugins/data_query/static/html/index.html
@@ -81,10 +81,9 @@
- 进程
- 变量
- 状态
- 统计
+ 进程
+ 状态
+ 统计
diff --git a/plugins/data_query/static/js/app.js b/plugins/data_query/static/js/app.js
index 8ea0c2c42..1844bff1d 100755
--- a/plugins/data_query/static/js/app.js
+++ b/plugins/data_query/static/js/app.js
@@ -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[i]+'';
+ }
+ $('#mysql_ot_table thead tr').html(header_field);
+
+ var tbody = '';
+ for (var i = 0; i < dlist.length; i++) {
+ tbody += '';
+ for (var j = 0; j < fields.length; j++) {
+ var f = fields[j];
+ if (f in dlist[i]) {
+ tbody += ''+dlist[i][f]+' | ';
+ } else {
+ tbody += 'undefined | ';
+ }
+ }
+ tbody += '
';
+ }
+
+ $('#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[i]+'';
+ }
+ $('#mysql_ot_table thead tr').html(header_field);
+
+ var tbody = '';
+ for (var i = 0; i < dlist.length; i++) {
+ tbody += '';
+ for (var j = 0; j < fields.length; j++) {
+ var f = fields[j];
+ if (f in dlist[i]) {
+ tbody += ''+dlist[i][f]+' | ';
+ } else {
+ tbody += 'undefined | ';
+ }
+ }
+ tbody += '
';
+ }
+
+ $('#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);
-
}
});
}