
static.beecp.js.monitor.js Maven / Gradle / Ivy
var dsURL = 'getDataSourceList';
var sqlURL = 'getSqlTraceList';
var clearURL = 'clearPool';
var interruptURL = 'interruptPool';
var language = $("html").attr("lang");
function poolClear(dsId){
$.ajax({
type: 'POST',
url: clearURL,
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({'dsId':dsId}),
success: function(data) {
if(data.code==1) {
//alert(language=='cn'? '清理成功':'Clear success');
$('#ds_refresh_button').trigger("click");
}
}
});
}
function poolInterrupt(dsId){
$.ajax({
type: 'POST',
url: interruptURL,
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({'dsId':dsId}),
success: function(data) {
//alert(language=='cn'? '中断成功':'Interrupt success');
$('#ds_refresh_button').trigger("click");
}
});
}
$(function() {
var refreshMsg = language=='cn'? '刷新成功':'Refresh success';
var sqlTraceList = []; //empty array
var curSqlPageSize = 10;
var curSqlPageNo = 1;
var maxSqlPageNo = 0;
var dsRefreshTask;
var sqlRefreshTask;
$('#ds_monitorTable').tablesorter();
$('#sql_monitorTable').tablesorter();
$("#ds_refresh_button").click(function() {
getDsListFromServer();
alert(refreshMsg);
});
$("#sql_refresh_button").click(function() {
getSqlListFromServer();
alert(refreshMsg);
});
$("#ds_timer_button").click(function() {
if (dsRefreshTask != null){//stop
clearInterval(dsRefreshTask);
dsRefreshTask =null;
var name=(language=='cn')?'启动定时':'Run Timer';
$("#ds_timer_button").val(name)
}else{//run
dsRefreshTask = setInterval(getDsListFromServer, $("#ds_refresh_interval").val());
var name=(language=='cn')?'停止定时':'Stop Timer';
$("#ds_timer_button").val(name);
}
});
$("#sql_timer_button").click(function() {
if (sqlRefreshTask != null){//stop
clearInterval(sqlRefreshTask);
sqlRefreshTask =null;
var name=(language == 'cn')?'启动定时':'Run Timer';
$("#sql_timer_button").val(name);
}else{//run
sqlRefreshTask = setInterval(getSqlListFromServer, $("#sql_refresh_interval").val());
var name=(language=='cn')?'停止定时':'Stop Timer';
$("#sql_timer_button").val(name);
}
});
$("#ds_refresh_interval").click(function() {
if (dsRefreshTask != null){
clearInterval(dsRefreshTask);
dsRefreshTask = setInterval(getDsListFromServer, $("#ds_refresh_interval").val());
}
});
$("#sql_refresh_interval").click(function() {
if (sqlRefreshTask != null){
clearInterval(sqlRefreshTask);
sqlRefreshTask = setInterval(getSqlListFromServer, $("#sql_refresh_interval").val());
}
});
$("#page_size").change(function() {
curSqlPageSize = $("#page_size").val();
curSqlPageNo = 1;
showSqlTracePage(curSqlPageNo);
});
$("#sql_first").click(function() { //move to first page
curSqlPageNo = 1;
showSqlTracePage(curSqlPageNo);
});
$("#sql_pre").click(function() { //move to pre page
curSqlPageNo = curSqlPageNo - 1;
showSqlTracePage(curSqlPageNo);
});
$("#sql_next").click(function() { //move to next page
curSqlPageNo = curSqlPageNo + 1;
showSqlTracePage(curSqlPageNo);
});
$("#sql_last").click(function() { //move to last page
curSqlPageNo = maxSqlPageNo;
showSqlTracePage(curSqlPageNo);
});
$('#tabs a').click(function(e) {
e.preventDefault();
$('#tabs li').removeClass("current").removeClass("hoverItem");
$(this).parent().addClass("current");
$("#content div").removeClass("show");
$('#' + $(this).attr('title')).addClass('show');
});
$('#tabs a').hover(function() {
if (!$(this).parent().hasClass("current")) {
$(this).parent().addClass("hoverItem");
}
},
function() {
$(this).parent().removeClass("hoverItem");
});
function getSqlListFromServer() {
$.ajax({
type: 'POST',
url: sqlURL,
dataType: 'json',
success: function(data) {
if(data.code==3) {
window.location.href ="login.html";
}else if(data.code==2) {
alert("Error:"+data.message);
}else if(data.code==1) {
curSqlPageNo = 1;
maxSqlPageNo = 0;
sqlTraceList = [];
$("#sql_first").attr("disabled", true);
$("#sql_pre").attr("disabled", true);
$("#sql_next").attr("disabled", true);
$("#sql_last").attr("disabled", true);
$("#sql_monitorTable tr:not(:first)").remove();
afterLoadSqlTraceList(data.result);
}
}
});
};
function getDsListFromServer() {
$.ajax({
type: 'POST',
url: dsURL,
dataType: 'json',
success: function(data) {
console.info(data);
$("#ds_monitorTable tr:not(:first)").remove();
if (data) {
if(data.code==3) {
window.location.href = "login.html";
}else if(data.code==2) {
alert("Error:"+data.message);
}else if(data.code==1) {
$.each(data.result,
function (i, element) {
var mode = element.poolMode;
var state = element.poolState;
var creatingCount = element.creatingCount;
var creatingTimeoutCount = element.creatingTimeoutCount;
var clearButtonDesc;
var interruptButtonDesc;
if (language == 'cn') {
clearButtonDesc='重置';
interruptButtonDesc='中断';
mode = (mode == 'compete') ? '竞争' : '公平';
if (state == 0) state = "未初始化";
else if (state == 1) state = "启动中";
else if (state == 2) state = "已就绪";
else if (state == 3) state = "关闭中";
else if (state == 4) state = "已关闭";
else if (state == 5) state = "清理中";
} else {
clearButtonDesc='Clear';
interruptButtonDesc='Interrupt';
if (state == 0) state = "uninitialized";
else if (state == 1) state = "starting";
else if (state == 2) state = "ready";
else if (state == 3) state = "closing";
else if (state == 4) state = "closed";
else if (state == 5) state = "clearing";
}
var tableHtml = "" + "" + element.dsId + " "
+ "" + mode + " " + "" + state + " "
+ "" + element.poolMaxSize + " "
+ "" + element.idleSize + " "
+ "" + element.usingSize + " "
+ "" + element.semaphoreWaitingSize + " "
+ "" + element.transferWaitingSize + " "
+ "" + creatingCount + " "
+ "" + creatingTimeoutCount + " "
+ "";
if(creatingTimeoutCount >0)
tableHtml= tableHtml + "";
tableHtml= tableHtml + " ";
$("#ds_monitorTable").append(tableHtml);
});
$('#ds_monitorTable').trigger("update");
}
}
}
});
};
function afterLoadSqlTraceList(data) { //after get result from server
if (data) {
sqlTraceList = data;
$("#total_sql").val(sqlTraceList.length);
maxSqlPageNo = parseInt(sqlTraceList.length / curSqlPageSize);
if (data.length % curSqlPageSize > 0) maxSqlPageNo++;
if (data.length > 0) showSqlTracePage();
}
}
function showSqlTracePage() { //show sql page List
var startIndex = (curSqlPageNo - 1) * curSqlPageSize;
var endIndex = sqlTraceList.length;
$("#sql_monitorTable tr:not(:first)").remove();
if (maxSqlPageNo > 1) {
if (curSqlPageNo == 1) { //at first page
$("#sql_first").attr("disabled", true);
$("#sql_pre").attr("disabled", true);
$("#sql_next").attr("disabled", false);
$("#sql_last").attr("disabled", false);
} else if (curSqlPageNo == maxSqlPageNo) { //at end page
$("#sql_first").attr("disabled", false);
$("#sql_pre").attr("disabled", false);
$("#sql_next").attr("disabled", true);
$("#sql_last").attr("disabled", true);
} else { //at middle page
$("#sql_first").attr("disabled", false);
$("#sql_pre").attr("disabled", false);
$("#sql_next").attr("disabled", false);
$("#sql_last").attr("disabled", false);
}
}
var count = 0;
for (var i = startIndex; i < endIndex; i++) {
var element = sqlTraceList[i];
var bgcolor = "";
if (element.endTimeMs>0) {
if (!element.successInd) { //fail
bgcolor = " class='sqlExecFail'";
} else if (element.slowInd) { //slow
bgcolor = " class='sqlExecSlow'";
}
}
var tableHtml = "" + ""
+ element.sql + " " + "" + element.dsId
+ " " + "" + element.startTime
+ " " + "" + element.endTime
+ " " + "" + element.tookTimeMs
+ " " + "" + element.successInd
+ " " + "" + element.statementType + '.' + element.methodName + " " + " ";
$("#sql_monitorTable").append(tableHtml);
if (++count > curSqlPageSize) break;
}
$('#sql_monitorTable').trigger("update");
}
//$("#ds_refresh_button").trigger("click");
//$("#sql_refresh_button").trigger("click");
getDsListFromServer();
getSqlListFromServer();
});
© 2015 - 2025 Weber Informatics LLC | Privacy Policy