improve wall.html

This commit is contained in:
wenshao
2013-08-01 09:32:56 +08:00
parent 336a2ba2ad
commit 8d3bf36ae5
@@ -1,266 +1,333 @@
<!doctype html>
<html>
<head>
<title>Druid DataSourceStat</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<link href='css/bootstrap.min.css' rel="stylesheet" />
<link href="css/style.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script src="js/lang.js" type="text/javascript" charset="utf8"></script>
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
</head>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<h3>
Wall Stat
<a href="wall.json" target="_blank">View JSON API</a>
</h3>
<table id="dataTable" style="background-color: #fff" class="table table-bordered responsive-utilities">
<tr>
<td valign="top" class="td_lable lang" langKey="CheckCount"> CheckCount </td>
<td id="CheckCount"></td>
<td></td>
</tr>
<head>
<title>Druid DataSourceStat</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<link href='css/bootstrap.min.css' rel="stylesheet" />
<link href="css/style.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script src="js/lang.js" type="text/javascript" charset="utf8"></script>
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
</head>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<h3>
Wall Stat <a href="wall.json" target="_blank">View JSON API</a>
</h3>
<table id="dataTable" style="background-color: #fff"
class="table table-bordered responsive-utilities">
<tr>
<td valign="top" class="td_lable lang" langKey="CheckCount">
CheckCount</td>
<td id="CheckCount"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="HardCheckCount">
HardCheckCount</td>
<td id="HardCheckCount"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="ViolationCount">
ViolationCount</td>
<td id="ViolationCount"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="BlackListHitCount">
BlackListHitCount</td>
<td id="BlackListHitCount"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="BlackListSize">
BlackListSize</td>
<td id="BlackListSize"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="WhiteListHitCount">
WhiteListHitCount</td>
<td id="WhiteListHitCount"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="WhiteListSize">
WhiteListSize</td>
<td id="WhiteListSize"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="SyntaxErrrorCount">
SyntaxErrrorCount</td>
<td id="SyntaxErrrorCount"></td>
<td></td>
</tr>
</table>
<h3>Table Stat</h3>
<table id="dataTable1" style="background-color: #fff"
class="table table-bordered table-striped responsive-utilities">
<thead>
<tr>
<td valign="top" class="td_lable lang" langKey="HardCheckCount"> HardCheckCount </td>
<td id="HardCheckCount"></td>
<td></td>
<th class="td_lable"><a id="th-TableName" class="lang"
langKey="TableName">TableName</a></th>
<th class="td_lable"><a id="th-SelectCount" class="lang"
langKey="SelectCount">SelectCount</a></th>
<th class="td_lable"><a id="th-SelectIntoCount" class="lang"
langKey="SelectIntoCount">SelectCount</a></th>
<th class="td_lable"><a id="th-InsertCount" class="lang"
langKey="InsertCount">InsertCount</a></th>
<th class="td_lable"><a id="th-UpdateCount" class="lang"
langKey="UpdateCount">UpdateCount</a></th>
<th class="td_lable"><a id="th-DeleteCount" class="lang"
langKey="DeleteCount">DeleteCount</a></th>
<th class="td_lable"><a id="th-TruncateCount" class="lang"
langKey="TruncateCount">TruncateCount</a></th>
<th class="td_lable"><a id="th-CreateCount" class="lang"
langKey="CreateCount">CreateCount</a></th>
<th class="td_lable"><a id="th-AlterCount" class="lang"
langKey="AlterCount">AlterCount</a></th>
<th class="td_lable"><a id="th-DropCount" class="lang"
langKey="DropCount">DropCount</a></th>
<th class="td_lable"><a id="th-ReplaceCount" class="lang"
langKey="ReplaceCount">ReplaceCount</a></th>
<th class="td_lable"><a id="th-DeleteDataCount" class="lang"
langKey="DeleteDataCount">DeleteDataCount</a></th>
<th class="td_lable"><a id="th-UpdateDataCount" class="lang"
langKey="UpdateDataCount">UpdateDataCount</a></th>
<th class="td_lable"><a id="th-FetchRowCount" class="lang"
langKey="FetchRowCount">FetchRowCount</a></th>
</tr>
</thead>
<tbody></tbody>
</table>
<h3>Function Stat</h3>
<table id="dataTable2" style="background-color: #fff"
class="table table-bordered responsive-utilities">
<thead>
<tr>
<td valign="top" class="td_lable lang" langKey="ViolationCount"> ViolationCount </td>
<td id="ViolationCount"></td>
<td></td>
<th class="td_lable">Function Name</th>
<th class="td_lable"><a id="th-invokeCount"
href="javascript:void(0);">InvokeCount</a></th>
</tr>
</thead>
<tbody></tbody>
</table>
<h3>SQL Stat - White List</h3>
<table id="dataTable3" style="background-color: #fff"
class="table table-bordered responsive-utilities">
<thead>
<tr>
<td valign="top" class="td_lable lang" langKey="BlackListHitCount"> BlackListHitCount </td>
<td id="BlackListHitCount"></td>
<td></td>
<th class="td_lable">sql</th>
<th class="td_lable">sample</th>
<th class="td_lable" style="width: 50px;">executeCount</th>
<th class="td_lable" style="width: 50px;">fetchRowCount</th>
<th class="td_lable" style="width: 50px;">updateCount</th>
</tr>
</thead>
<tbody></tbody>
</table>
<h3>SQL Stat - Black List</h3>
<table id="dataTable4" style="background-color: #fff"
class="table table-bordered responsive-utilities">
<thead>
<tr>
<td valign="top" class="td_lable lang" langKey="BlackListSize"> BlackListSize </td>
<td id="BlackListSize"></td>
<td></td>
<th class="td_lable">sql</th>
<th class="td_lable">sample</th>
<th class="td_lable" style="width: 50px;">executeCount</th>
<th class="td_lable" style="width: 50px;">fetchRowCount</th>
<th class="td_lable" style="width: 50px;">updateCount</th>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="WhiteListHitCount"> WhiteListHitCount </td>
<td id="WhiteListHitCount"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="WhiteListSize"> WhiteListSize </td>
<td id="WhiteListSize"></td>
<td></td>
</tr>
<tr>
<td valign="top" class="td_lable lang" langKey="SyntaxErrrorCount"> SyntaxErrrorCount </td>
<td id="SyntaxErrrorCount"></td>
<td></td>
</tr>
</table>
<table id="dataTable1" style="background-color: #fff" class="table table-bordered table-striped responsive-utilities">
<thead>
<tr >
<th class="td_lable"><a id="th-TableName" class="lang" langKey="TableName">TableName</a></th>
<th class="td_lable"><a id="th-SelectCount" class="lang" langKey="SelectCount">SelectCount</a></th>
<th class="td_lable"><a id="th-SelectIntoCount" class="lang" langKey="SelectIntoCount">SelectCount</a></th>
<th class="td_lable"><a id="th-InsertCount" class="lang" langKey="InsertCount">InsertCount</a></th>
<th class="td_lable"><a id="th-UpdateCount" class="lang" langKey="UpdateCount">UpdateCount</a></th>
<th class="td_lable"><a id="th-DeleteCount" class="lang" langKey="DeleteCount">DeleteCount</a></th>
<th class="td_lable"><a id="th-TruncateCount" class="lang" langKey="TruncateCount">TruncateCount</a></th>
<th class="td_lable"><a id="th-CreateCount" class="lang" langKey="CreateCount">CreateCount</a></th>
<th class="td_lable"><a id="th-AlterCount" class="lang" langKey="AlterCount">AlterCount</a></th>
<th class="td_lable"><a id="th-DropCount" class="lang" langKey="DropCount">DropCount</a></th>
<th class="td_lable"><a id="th-ReplaceCount" class="lang" langKey="ReplaceCount">ReplaceCount</a></th>
<th class="td_lable"><a id="th-DeleteDataCount" class="lang" langKey="DeleteDataCount">DeleteDataCount</a></th>
<th class="td_lable"><a id="th-UpdateDataCount" class="lang" langKey="UpdateDataCount">UpdateDataCount</a></th>
<th class="td_lable"><a id="th-FetchRowCount" class="lang" langKey="FetchRowCount">FetchRowCount</a></th>
</tr>
</thead>
<tbody></tbody>
</table>
<table id="dataTable2" style="background-color: #fff" class="table table-bordered responsive-utilities">
<thead>
<tr >
<th class="td_lable">Function Name</th>
<th class="td_lable"><a id="th-invokeCount" href="javascript:void(0);">InvokeCount</a></th>
</tr>
</thead>
<tbody></tbody>
</table>
<table id="dataTable3" style="background-color: #fff" class="table table-bordered responsive-utilities">
<thead>
<tr>
<th class="td_lable">sql</th>
<th class="td_lable">sample</th>
<th class="td_lable" style="width:50px;">executeCount</th>
<th class="td_lable" style="width:50px;">fetchRowCount</th>
<th class="td_lable" style="width:50px;">updateCount</th>
</tr>
</thead>
<tbody></tbody>
</table>
<table id="dataTable4" style="background-color: #fff" class="table table-bordered responsive-utilities">
<thead>
<tr>
<th class="td_lable">sql</th>
<th class="td_lable">sample</th>
<th class="td_lable" style="width:50px;">executeCount</th>
<th class="td_lable" style="width:50px;">fetchRowCount</th>
<th class="td_lable" style="width:50px;">updateCount</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
<script type="text/javascript">
$.namespace("druid.datasource");
druid.wall = function () {
return {
init : function() {
$("#dataTable1 th a").click(function(obj) {
druid.common.setOrderBy(obj.target.id.substring(3))
})
$("#dataTable2 th a").click(function(obj) {
druid.common.setOrderBy(obj.target.id.substring(3))
})
druid.common.buildHead(3);
druid.common.ajaxuri = 'wall.json?';
druid.common.handleCallback = druid.wall.handleAjaxResult;
druid.common.ajaxRequestForBasicInfo();
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
},
handleAjaxResult : function(data) {
$("#CheckCount").text(data.Content.checkCount)
$("#HardCheckCount").text(data.Content.hardCheckCount)
$("#ViolationCount").text(data.Content.violationCount)
$("#BlackListHitCount").text(data.Content.blackListHitCount)
$("#BlackListSize").text(data.Content.blackListSize)
$("#WhiteListHitCount").text(data.Content.whiteListHitCount)
$("#WhiteListSize").text(data.Content.whiteListSize)
$("#SyntaxErrrorCount").text(data.Content.syntaxErrrorCount)
var html = "";
var tables = data.Content.tables;
if(tables) {
for ( var i = 0; i < tables.length; i++) {
var table = tables[i];
html += "<tr>";
html += "<td>" + table.name + "</td>";
html += "<td>" + (table.selectCount ? table.selectCount : 0)+ "</td>";
html += "<td>" + (table.selectIntoCount ? table.selectIntoCount : 0) + "</td>";
html += "<td>" + (table.insertCount ? table.insertCount : 0) + "</td>";
html += "<td>" + (table.updateCount ? table.updateCount : 0) + "</td>";
html += "<td>" + (table.deleteCount ? table.deleteCount : 0) + "</td>";
html += "<td>" + (table.truncateCount ? table.truncateCount : 0) + "</td>";
html += "<td>" + (table.createCount ? table.createCount : 0) + "</td>";
html += "<td>" + (table.alterCount ? table.alterCount : 0) + "</td>";
html += "<td>" + (table.dropCount ? table.dropCount : 0) + "</td>";
html += "<td>" + (table.replaceCount ? table.replaceCount : 0) + "</td>";
html += "<td>" + (table.deleteDataCount ? table.deleteDataCount : 0) + "</td>";
html += "<td>" + (table.updateDataCount ? table.updateDataCount : 0) + "</td>";
html += "<td>" + (table.fetchRowCount ? table.fetchRowCount : 0) + "</td>";
html += "</tr>";
}
$("#dataTable1 tbody").html(html);
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
<script type="text/javascript">
$.namespace("druid.datasource");
druid.wall = function() {
return {
init : function() {
$("#dataTable1 th a").click(function(obj) {
druid.common.setOrderBy(obj.target.id.substring(3))
})
$("#dataTable2 th a").click(function(obj) {
druid.common.setOrderBy(obj.target.id.substring(3))
})
druid.common.buildHead(3);
druid.common.ajaxuri = 'wall.json?';
druid.common.handleCallback = druid.wall.handleAjaxResult;
druid.common.ajaxRequestForBasicInfo();
setInterval("druid.common.ajaxRequestForBasicInfo();", 5000);
},
handleAjaxResult : function(data) {
$("#CheckCount").text(data.Content.checkCount)
$("#HardCheckCount").text(data.Content.hardCheckCount)
$("#ViolationCount").text(data.Content.violationCount)
$("#BlackListHitCount")
.text(data.Content.blackListHitCount)
$("#BlackListSize").text(data.Content.blackListSize)
$("#WhiteListHitCount")
.text(data.Content.whiteListHitCount)
$("#WhiteListSize").text(data.Content.whiteListSize)
$("#SyntaxErrrorCount")
.text(data.Content.syntaxErrrorCount)
var html = "";
var tables = data.Content.tables;
if (tables) {
for ( var i = 0; i < tables.length; i++) {
var table = tables[i];
html += "<tr>";
html += "<td>" + table.name + "</td>";
html += "<td>"
+ (table.selectCount ? table.selectCount
: 0) + "</td>";
html += "<td>"
+ (table.selectIntoCount ? table.selectIntoCount
: 0) + "</td>";
html += "<td>"
+ (table.insertCount ? table.insertCount
: 0) + "</td>";
html += "<td>"
+ (table.updateCount ? table.updateCount
: 0) + "</td>";
html += "<td>"
+ (table.deleteCount ? table.deleteCount
: 0) + "</td>";
html += "<td>"
+ (table.truncateCount ? table.truncateCount
: 0) + "</td>";
html += "<td>"
+ (table.createCount ? table.createCount
: 0) + "</td>";
html += "<td>"
+ (table.alterCount ? table.alterCount : 0)
+ "</td>";
html += "<td>"
+ (table.dropCount ? table.dropCount : 0)
+ "</td>";
html += "<td>"
+ (table.replaceCount ? table.replaceCount
: 0) + "</td>";
html += "<td>"
+ (table.deleteDataCount ? table.deleteDataCount
: 0) + "</td>";
html += "<td>"
+ (table.updateDataCount ? table.updateDataCount
: 0) + "</td>";
html += "<td>"
+ (table.fetchRowCount ? table.fetchRowCount
: 0) + "</td>";
html += "</tr>";
}
html = "";
var functions = data.Content.functions;
if (functions) {
for ( var i = 0; i < functions.length; i++) {
var fun = functions[i];
html += "<tr>";
html += "<td>" + fun.name + "</td>";
html += "<td>" + fun.invokeCount + "</td>";
html += "</tr>";
}
$("#dataTable2 tbody").html(html);
$("#dataTable1 tbody").html(html);
}
html = "";
var functions = data.Content.functions;
if (functions) {
for ( var i = 0; i < functions.length; i++) {
var fun = functions[i];
html += "<tr>";
html += "<td>" + fun.name + "</td>";
html += "<td>" + fun.invokeCount + "</td>";
html += "</tr>";
}
$("#dataTable2 tbody").html(html);
}
html = "";
var whiteList = data.Content.whiteList;
if (whiteList) {
for (var i = 0; i < whiteList.length; ++i) {
var white = whiteList[i];
html += "<tr>";
html += "<td>" + white.sql + "</td>";
if (white.sample === undefined) {
html += "<td></td>";
} else {
html += '<td style="word-break:break-all">' + white.sample + "</td>";
}
if (white.executeCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + white.executeCount + "</td>";
}
if (white.fetchRowCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + white.fetchRowCount + "</td>";
}
if (white.updateCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + white.updateCount + "</td>";
}
html += "</tr>";
}
$("#dataTable3 tbody").html(html);
}
html = "";
var whiteList = data.Content.whiteList;
if (whiteList) {
for ( var i = 0; i < whiteList.length; ++i) {
var white = whiteList[i];
html += "<tr>";
html += "<td>" + white.sql + "</td>";
html = "";
var blackList = data.Content.blackList;
if (blackList) {
for (var i = 0; i < blackList.length; ++i) {
var black = blackList[i];
html += "<tr>";
html += "<td>" + black.sql + "</td>";
if (black.sample === undefined) {
html += "<td></td>";
} else {
html += '<td style="word-break:break-all">' + black.sample + "</td>";
}
if (black.executeCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + black.executeCount + "</td>";
}
if (black.fetchRowCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + black.fetchRowCount + "</td>";
}
if (black.updateCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + black.updateCount + "</td>";
} }
$("#dataTable4 tbody").html(html);
}
}
}
}();
if (white.sample === undefined) {
html += "<td></td>";
} else {
html += '<td style="word-break:break-all">'
+ white.sample + "</td>";
}
$(document).ready(function() {
druid.wall.init();
});
</script>
</body>
if (white.executeCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + white.executeCount + "</td>";
}
if (white.fetchRowCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + white.fetchRowCount + "</td>";
}
if (white.updateCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + white.updateCount + "</td>";
}
html += "</tr>";
}
$("#dataTable3 tbody").html(html);
}
html = "";
var blackList = data.Content.blackList;
if (blackList) {
for ( var i = 0; i < blackList.length; ++i) {
var black = blackList[i];
html += "<tr>";
html += "<td>" + black.sql + "</td>";
if (black.sample === undefined) {
html += "<td></td>";
} else {
html += '<td style="word-break:break-all">'
+ black.sample + "</td>";
}
if (black.executeCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + black.executeCount + "</td>";
}
if (black.fetchRowCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + black.fetchRowCount + "</td>";
}
if (black.updateCount === undefined) {
html += "<td></td>";
} else {
html += "<td>" + black.updateCount + "</td>";
}
}
$("#dataTable4 tbody").html(html);
}
}
}
}();
$(document).ready(function() {
druid.wall.init();
});
</script>
</body>
</html>