mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
update page style
This commit is contained in:
@@ -3,19 +3,12 @@
|
||||
<head>
|
||||
<title>Druid ActiveConnection StackTrace</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 src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/activeConnectionStackTrace.js" type="text/javascript" charset="utf8"></script>
|
||||
<script >
|
||||
function init(){
|
||||
ajaxRequestForActiveConnectionStackTrace();
|
||||
var time2=setInterval("ajaxRequestForActiveConnectionStackTrace();",2000);
|
||||
buildMenu();
|
||||
buildFooter();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<body>
|
||||
<div id="main">
|
||||
<h2>ActiveConnection StackTrace for Datasource
|
||||
<a href="activeConnectionStackTrace-{datasourceId}.json" target="_blank">[View JSON API]</a>
|
||||
@@ -25,5 +18,44 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.activeConnectionStackTrace");
|
||||
druid.activeConnectionStackTrace = function () {
|
||||
var datasourceId = druid.common.getUrlVar("datasourceId");
|
||||
return {
|
||||
init : function() {
|
||||
druid.activeConnectionStackTrace.ajaxRequestForActiveConnectionStackTrace();
|
||||
var time2=setInterval("druid.activeConnectionStackTrace.ajaxRequestForActiveConnectionStackTrace();",2000);
|
||||
},
|
||||
|
||||
ajaxRequestForActiveConnectionStackTrace : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'activeConnectionStackTrace-' + datasourceId + '.json',
|
||||
success: function(data) {
|
||||
var conntionStackTraceList = data.Content;
|
||||
if (conntionStackTraceList == null)
|
||||
return;
|
||||
|
||||
var activeConnectionStackTraceTable = document.getElementById("activeConnectionStackTraceTable");
|
||||
while (activeConnectionStackTraceTable.rows.length > 0) {
|
||||
activeConnectionStackTraceTable.deleteRow(0);
|
||||
}
|
||||
for ( var i = 0; i < conntionStackTraceList.length; i++) {
|
||||
var conntionStackTrace = conntionStackTraceList[i];
|
||||
var newRow = activeConnectionStackTraceTable.insertRow(-1);
|
||||
newRow.insertCell(-1).innerHTML = conntionStackTrace;
|
||||
}
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.activeConnectionStackTrace.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,49 +1,133 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Druid SqlStat</title>
|
||||
<head>
|
||||
<title>Druid Spring Stat</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 src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/connectionInfo.js" type="text/javascript" charset="utf8"></script>
|
||||
<script >
|
||||
function init(){
|
||||
ajaxRequestForConnectionInfo();
|
||||
var time3=setInterval("ajaxRequestForConnectionInfo();",1000);
|
||||
buildMenu();
|
||||
buildFooter();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<br />
|
||||
<div id="main">
|
||||
<h2>Pooling Connection Info List for Datasource {datasourceId}<a href="connectionInfo-{datasourceId}.json" target="_blank">[View JSON API]</a></h2>
|
||||
<table cellspacing="1" cellpadding="5" id="connectionInfoTable" width="99%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="td_lable" width="50">ID</th>
|
||||
<th class="td_lable" width="50">Use Count</th>
|
||||
<th class="td_lable" width="150">Last ActiveTime</th>
|
||||
<th class="td_lable" width="150">ConnectTime</th>
|
||||
<th class="td_lable" width="50">Holdability</th>
|
||||
<th class="td_lable" width="50">Transaction Isolation</th>
|
||||
<th class="td_lable" width="50">AutoCommit</th>
|
||||
<th class="td_lable" width="50">ReadoOnly</th>
|
||||
<th class="td_lable">
|
||||
Pscache<br />
|
||||
<table cellspacing="1" cellpadding="5" width="100%">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="hero-unit" style="padding: 10px;">
|
||||
<h3>
|
||||
Pooling Connection Info List for Datasource-<span id="datasourceId"></span>
|
||||
</h3>
|
||||
<table id="dataTable" class="table table-bordered table-striped responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="td_lable">sql</th>
|
||||
<th class="td_lable" width="50">default Row Pretch</th>
|
||||
<th class="td_lable" width="50">row Prefetch</th>
|
||||
<th class="td_lable" width="50">hit Count</th>
|
||||
<th class="td_lable" width="50">ID</th>
|
||||
<th class="td_lable" width="50">Use Count</th>
|
||||
<th class="td_lable" width="150">Last ActiveTime</th>
|
||||
<th class="td_lable" width="150">ConnectTime</th>
|
||||
<th class="td_lable" width="50">Holdability</th>
|
||||
<th class="td_lable" width="50">Transaction Isolation</th>
|
||||
<th class="td_lable" width="50">AutoCommit</th>
|
||||
<th class="td_lable" width="50">ReadoOnly</th>
|
||||
<th class="td_lable">
|
||||
Pscache<br />
|
||||
<table cellspacing="1" cellpadding="5" width="100%">
|
||||
<tr>
|
||||
<th class="td_lable">sql</th>
|
||||
<th class="td_lable" width="50">default Row Pretch</th>
|
||||
<th class="td_lable" width="50">row Prefetch</th>
|
||||
<th class="td_lable" width="50">hit Count</th>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.connectionInfo");
|
||||
druid.connectionInfo = function () {
|
||||
var datasourceId = druid.common.getUrlVar("datasourceId");
|
||||
return {
|
||||
init : function() {
|
||||
$("#datasourceId").html(datasourceId);
|
||||
druid.common.buildHead(1);
|
||||
druid.connectionInfo.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.connectionInfo.ajaxRequestForBasicInfo();", 10000);
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'connectionInfo-' + datasourceId + '.json',
|
||||
success: function(data) {
|
||||
druid.connectionInfo.handleAjaxResult(data);
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList == null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("dataTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
var html = "";
|
||||
for ( var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
html += "<tr>";
|
||||
html += "<td>" + stat.id + "</td>";
|
||||
html += "<td>" + stat.useCount + "</td>";
|
||||
|
||||
if (stat.lastActiveTime)
|
||||
html += "<td>" + stat.lastActiveTime + "</td>";
|
||||
else
|
||||
html += "<td></td>";
|
||||
|
||||
html += "<td>" + stat.connectTime + "</td>";
|
||||
html += "<td>" + stat.holdability + "</td>";
|
||||
html += "<td>" + stat.transactionIsolation + "</td>";
|
||||
html += "<td>" + stat.autoCommit + "</td>";
|
||||
html += "<td>" + stat.readoOnly + "</td>";
|
||||
if (stat.pscache)
|
||||
html += "<td>" + druid.connectionInfo.getPsCacheInfo(stat.pscache) + "</td>";
|
||||
else
|
||||
html += "<td></td>";
|
||||
html += "</tr>";
|
||||
}
|
||||
$("#dataTable tbody").html(html);
|
||||
druid.common.stripes();
|
||||
},
|
||||
|
||||
getPsCacheInfo : function(pscache) {
|
||||
var result = '<table cellspacing="1" cellpadding="5" width="100%">';
|
||||
for ( var i = 0; i < pscache.length; i++) {
|
||||
var stmt = pscache[i];
|
||||
result += '<tr>';
|
||||
result += '<td>' + stmt.sql + "</td>";
|
||||
result += '<td width="50">' + stmt.defaultRowPretch + "</td>";
|
||||
result += '<td width="50">' + stmt.rowPrefetch + "</td>";
|
||||
result += '<td width="50">' + stmt.hitCount + "</td>";
|
||||
result += '</tr>';
|
||||
}
|
||||
|
||||
result += "</table>";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.connectionInfo.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
+537
-2
File diff suppressed because one or more lines are too long
@@ -15,6 +15,7 @@ body{
|
||||
.td_lable {
|
||||
font-weight: bold;
|
||||
width: 220px;
|
||||
background-color: #D3EAEF;
|
||||
}
|
||||
|
||||
.navbar .brand {
|
||||
@@ -39,8 +40,14 @@ body{
|
||||
|
||||
.navbar-inner {
|
||||
text-align:center;
|
||||
background-color: #FAFAFA;
|
||||
background-image: -moz-linear-gradient(center top , #FFFFFF, #F2F2F2);
|
||||
background-color:#FAFAFA;
|
||||
background-image:-moz-linear-gradient(center top , #FFFFFF, #F2F2F2);
|
||||
background-image:-ms-linear-gradient(top,#FFFFFF,#F2F2F2);
|
||||
background-image:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#F2F2F2));
|
||||
background-image:-webkit-linear-gradient(top,#FFFFFF,#F2F2F2);
|
||||
background-image:-o-linear-gradient(top,#FFFFFF,#F2F2F2);
|
||||
background-image:linear-gradient(top,#FFFFFF,#F2F2F2);
|
||||
filter:progid:dximagetransform.microsoft.gradient(startColorstr='#FFFFFF',endColorstr='#F2F2F2',GradientType=0)
|
||||
}
|
||||
.navbar .nav > .active > a, .navbar .nav > .active > a:hover, .navbar .nav > .active > a:focus {
|
||||
background-color: #E5E5E5;
|
||||
@@ -53,4 +60,8 @@ body{
|
||||
background-color: transparent;
|
||||
color: #333333;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.striped {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<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/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/datasource.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@@ -23,5 +23,109 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.datasource");
|
||||
druid.datasource = function () {
|
||||
var keys = ["UserName", "URL", "DbType", "DriverClassName", "FilterClassNames", "TestOnBorrow", "TestWhileIdle", "TestOnReturn",
|
||||
"InitialSize", "MinIdle", "MaxActive", "QueryTimeout", "TransactionQueryTimeout", "LoginTimeout", "ValidConnectionCheckerClassName",
|
||||
"ExceptionSorterClassName", "DefaultAutoCommit", "DefaultReadOnly", "DefaultTransactionIsolation", "NotEmptyWaitCount",
|
||||
"NotEmptyWaitMillis", "WaitThreadCount", "StartTransactionCount", "TransactionHistogram", "PoolingCount", "PoolingPeak",
|
||||
"PoolingPeakTime", "ActiveCount", "ActivePeak", "ActivePeakTime", "LogicConnectCount", "LogicCloseCount", "LogicConnectErrorCount",
|
||||
"PhysicalConnectCount", "PhysicalCloseCount", "PhysicalConnectErrorCount", "ExecuteCount", "ErrorCount", "CommitCount",
|
||||
"RollbackCount", "PSCacheAccessCount", "PSCacheHitCount", "PSCacheMissCount", "ConnectionHoldTimeHistogram"]
|
||||
var descs = ["Specify the username used when creating a new connection.",
|
||||
"The JDBC driver connection URL", "database type", "The fully qualifed name of the JDBC driver class",
|
||||
"All the fully qualifed name of the filter classes", " Test or not when borrow a connection", "Test or not when return a connection",
|
||||
"Test or not when a connection is idle for a while","The size of datasource connections to create when initial a datasource",
|
||||
"The minimum number of connections a pool should hold. ", "The maximum number of connections for a pool", "", "", "", "",
|
||||
"", "", "", "", "Total times for wait to get a connection","Total millins for wait to get a connection", "The current waiting thread count",
|
||||
"The count of start transaction", "The histogram values of transaction time, [0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]",
|
||||
"The current usefull connection count", "The usefull connection peak count",
|
||||
"The usefull connection peak time", "The current active connection count", "The current active connection peak count", "The active connection peak time",
|
||||
"Total connect times from datasource", "Total close connect times from datasource", "Total connect error times",
|
||||
"Create physical connnection count", "Close physical connnection count", "Total physical connect error times", "", "", "",
|
||||
"", "PerpareStatement access count", "PerpareStatement hit count", "PerpareStatement miss count", "The histogram values of connection hold time, [0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]"]
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(1);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "datasource.json",
|
||||
success: function(data) {
|
||||
var datasourceList = data.Content;
|
||||
|
||||
var tab = '<ul class="nav nav-tabs" id="datasourceTab">';
|
||||
var content = '<div class="tab-content">';
|
||||
for ( var i = 0; i < datasourceList.length; i++) {
|
||||
var datasource = datasourceList[i];
|
||||
content += druid.datasource.generateDataSourceTable(datasource, i);
|
||||
tab += druid.datasource.generateDataSourceTab(datasource.Identity, i);
|
||||
}
|
||||
tab += '</ul>';
|
||||
content += '</div>';
|
||||
|
||||
$(".hero-unit h3").after(tab + content);
|
||||
|
||||
$('#datasourceTab a').click(function (e) {
|
||||
e.preventDefault();
|
||||
$(this).tab('show');
|
||||
})
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
},
|
||||
|
||||
generateDataSourceTab : function(datasourceId, index) {
|
||||
if(index == 0)
|
||||
return '<li class="active"><a href="#dstab' + datasourceId + '">DataSource-'+datasourceId+'</a></li>';
|
||||
else
|
||||
return '<li><a href="#dstab' + datasourceId + '">DataSource-'+datasourceId+'</a></li>';
|
||||
},
|
||||
|
||||
generateDataSourceTable : function(datasource, index) {
|
||||
var datasourceId = datasource.Identity;
|
||||
|
||||
if(index == 0)
|
||||
var html = '<div class="tab-pane active" id="dstab' + datasourceId + '">';
|
||||
else
|
||||
var html = '<div class="tab-pane" id="dstab' + datasourceId + '">';
|
||||
|
||||
html += '<h4>Basic Info For DataSource-' + datasourceId + '<a href="datasource-' + datasourceId + '.json" target="_blank">View JSON API</a></h4>';
|
||||
html += '<table class="table table-bordered" style="background-color: #fff">';
|
||||
|
||||
for(var i=0, len=keys.length; i<len; i++) {
|
||||
var value = datasource[keys[i]];
|
||||
if(value == null)
|
||||
value = "";
|
||||
|
||||
if(i<19)
|
||||
html += '<tr><td valign="top" class="td_lable">* ' + keys[i] + '</td><td>' + value + '</td><td>' + descs[i] + '</td></tr>'
|
||||
else
|
||||
html += '<tr><td valign="top" class="td_lable">' + keys[i] + '</td><td>' + value + '</td><td>' + descs[i] + '</td></tr>'
|
||||
}
|
||||
|
||||
if (datasource.RemoveAbandoned == true)
|
||||
html += '<tr><td valign="top" class="td_lable">ActiveConnection StackTrace</td><td><a href="activeConnectionStackTrace.html?datasourceId=' + datasource.Identity + '">View</a></td><td>StackTrace for active Connection. <a href="activeConnectionStackTrace-'
|
||||
+ datasourceId + '.json" target="_blank">[View JSON API]</a></td></tr>'
|
||||
else
|
||||
html += '<tr><td valign="top" class="td_lable">ActiveConnection StackTrace</td><td>require set removeAbandoned=true</td><td>StackTrace for active Connection. <a href="activeConnectionStackTrace-'
|
||||
+ datasourceId + '.json" target="_blank">[View JSON API]</a></td></tr>'
|
||||
|
||||
html += '<tr><td valign="top" class="td_lable">PollingConnection Info</td><td><a href="connectionInfo.html?datasourceId=' + datasourceId+
|
||||
'">View</a></td><td>Info for polling connection. <a href="connectionInfo-' + datasourceId + '.json" target="_blank">[View JSON API]</a></td></tr>'
|
||||
|
||||
html += '</table></div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.datasource.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB |
@@ -7,7 +7,6 @@
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script type="text/javascript" src="js/jquery.min.js"></script>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/basicStat.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@@ -18,7 +17,7 @@
|
||||
Stat Index
|
||||
<a href="basic.json" target="_blank">View JSON API</a>
|
||||
</h3>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<table id="dataTable" style="background-color: #fff" class="table table-bordered responsive-utilities">
|
||||
<tr >
|
||||
<td valign="top" width="100" class="td_lable">
|
||||
Version
|
||||
@@ -43,5 +42,42 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.index");
|
||||
druid.index = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(0);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "basic.json",
|
||||
success: function(data) {
|
||||
$("#DruidVersion").text(data.Content.Version)
|
||||
var driversList = data.Content.Drivers;
|
||||
if (driversList) {
|
||||
var driverHtml = '';
|
||||
for ( var i = 0; i < driversList.length; i++) {
|
||||
var driver = driversList[i];
|
||||
driverHtml += driver + ' , ';
|
||||
}
|
||||
$("#DruidDrivers").text(driverHtml);
|
||||
}
|
||||
$("#ResetEnable").text(data.Content.ResetEnable)
|
||||
$("#ResetCount").text(data.Content.ResetCount)
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.index.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
function ajaxRequestForActiveConnectionStackTrace() {
|
||||
var datasourceId = getUrlVar("datasourceId");
|
||||
var xmlHttpForActiveConnectionStackTrace=getRequestObject();
|
||||
sendRequest(xmlHttpForActiveConnectionStackTrace,'activeConnectionStackTrace-' + datasourceId + '.json', function() {
|
||||
ajaxResponseForActiveConnectionStackTrace(xmlHttpForActiveConnectionStackTrace, datasourceId);
|
||||
});
|
||||
}
|
||||
|
||||
function ajaxResponseForActiveConnectionStackTrace(xmlHttpForActiveConnectionStackTrace, datasourceId) {
|
||||
var conntionStackTraceList = getJSONResponseContent(xmlHttpForActiveConnectionStackTrace);
|
||||
if (conntionStackTraceList == null)
|
||||
return;
|
||||
|
||||
var activeConnectionStackTraceTable = document.getElementById("activeConnectionStackTraceTable");
|
||||
while (activeConnectionStackTraceTable.rows.length > 0) {
|
||||
activeConnectionStackTraceTable.deleteRow(0);
|
||||
}
|
||||
for ( var i = 0; i < conntionStackTraceList.length; i++) {
|
||||
var conntionStackTrace = conntionStackTraceList[i];
|
||||
var newRow = activeConnectionStackTraceTable.insertRow(-1);
|
||||
newRow.insertCell(-1).innerHTML = conntionStackTrace;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
$.namespace("druid.index");
|
||||
druid.index = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(0);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "basic.json",
|
||||
success: function(data) {
|
||||
$("#DruidVersion").text(data.Content.Version)
|
||||
var driversList = data.Content.Drivers;
|
||||
if (driversList) {
|
||||
var driverHtml = '';
|
||||
for ( var i = 0; i < driversList.length; i++) {
|
||||
var driver = driversList[i];
|
||||
driverHtml += driver + ' , ';
|
||||
}
|
||||
$("#DruidDrivers").text(driverHtml);
|
||||
}
|
||||
$("#ResetEnable").text(data.Content.ResetEnable)
|
||||
$("#ResetCount").text(data.Content.ResetCount)
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.index.init();
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
@@ -28,6 +28,7 @@ druid.common = function () {
|
||||
' <li><a href="spring.html">Spring</a></li>'+
|
||||
' <li><a href="api.html">JSON API</a></li>'+
|
||||
' </ul>'+
|
||||
' <a class="btn btn-primary" href="javascript:druid.common.ajaxRequestForReset();">Reset All</a>'+
|
||||
' </div>'+
|
||||
' </div>'+
|
||||
' </div>'+
|
||||
@@ -88,8 +89,8 @@ druid.common = function () {
|
||||
var html = old_divObj.innerHTML;
|
||||
if (statViewOrderBy_old.indexOf('[') > 0)
|
||||
replaceToStr = '-';
|
||||
html = html.replace('¡ü', replaceToStr);
|
||||
html = html.replace('¡ý', replaceToStr);
|
||||
html = html.replace('↑', replaceToStr);
|
||||
html = html.replace('↓', replaceToStr);
|
||||
old_divObj.innerHTML = html
|
||||
}
|
||||
if (divObj) {
|
||||
@@ -137,7 +138,30 @@ druid.common = function () {
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
subSqlString : function(sql, len) {
|
||||
if (sql.length <= len)
|
||||
return sql;
|
||||
return sql.substr(0, len) + '...';
|
||||
},
|
||||
|
||||
stripes : function() {
|
||||
$("#dataTable tbody tr").each(function () {
|
||||
$(this).removeClass("striped");
|
||||
});
|
||||
$("#dataTable tbody tr:even").each(function () {
|
||||
$(this).addClass("striped");
|
||||
});
|
||||
},
|
||||
|
||||
getUrlVar : function(name) {
|
||||
var vars = {};
|
||||
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
|
||||
vars[key] = value;
|
||||
});
|
||||
return vars[name];
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
var xmlHttpForConnectionInfo;
|
||||
|
||||
var sqlViewOrderBy = '';
|
||||
var sqlViewOrderBy_old = '';
|
||||
var sqlViewOrderType = 'asc';
|
||||
|
||||
// only one page for now
|
||||
var sqlViewPage = 1;
|
||||
var sqlViewPerPageCount = 1000000;
|
||||
|
||||
function resetSortMark() {
|
||||
var divObj = document.getElementById('th-' + sqlViewOrderBy);
|
||||
var old_divObj = document.getElementById('th-' + sqlViewOrderBy_old);
|
||||
var replaceToStr = '';
|
||||
if (old_divObj) {
|
||||
var html = old_divObj.innerHTML;
|
||||
if (sqlViewOrderBy_old.indexOf('[') > 0)
|
||||
replaceToStr = '-';
|
||||
html = html.replace('↑', replaceToStr);
|
||||
html = html.replace('↓', replaceToStr);
|
||||
old_divObj.innerHTML = html
|
||||
}
|
||||
if (divObj) {
|
||||
var html = divObj.innerHTML;
|
||||
if (sqlViewOrderBy.indexOf('[') > 0)
|
||||
html = '';
|
||||
|
||||
if (sqlViewOrderType == 'asc') {
|
||||
html += '↑';
|
||||
} else if (sqlViewOrderType == 'desc') {
|
||||
html += '↓';
|
||||
}
|
||||
divObj.innerHTML = html;
|
||||
}
|
||||
ajaxRequestForConnectionInfo();
|
||||
}
|
||||
|
||||
function setOrderBy(orderBy) {
|
||||
if (sqlViewOrderBy != orderBy) {
|
||||
sqlViewOrderBy_old = sqlViewOrderBy;
|
||||
sqlViewOrderBy = orderBy;
|
||||
sqlViewOrderType = 'desc';
|
||||
resetSortMark();
|
||||
return;
|
||||
}
|
||||
|
||||
sqlViewOrderBy_old = sqlViewOrderBy;
|
||||
|
||||
if (sqlViewOrderType == 'asc')
|
||||
sqlViewOrderType = 'desc'
|
||||
else
|
||||
sqlViewOrderType = 'asc';
|
||||
|
||||
resetSortMark();
|
||||
|
||||
}
|
||||
|
||||
function getSqlViewJsonUrl() {
|
||||
var result = 'sql.json?';
|
||||
|
||||
if (sqlViewOrderBy != undefined)
|
||||
result += 'orderBy=' + sqlViewOrderBy + '&';
|
||||
|
||||
if (sqlViewOrderType != undefined)
|
||||
result += 'orderType=' + sqlViewOrderType + '&';
|
||||
|
||||
if (sqlViewPage != undefined)
|
||||
result += 'page=' + sqlViewPage + '&';
|
||||
|
||||
if (sqlViewPerPageCount != undefined)
|
||||
result += 'perPageCount=' + sqlViewPerPageCount + '&';
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function ajaxRequestForConnectionInfo() {
|
||||
var datasourceId = getUrlVar("datasourceId");
|
||||
xmlHttpForConnectionInfo = getRequestObject();
|
||||
sendRequest(xmlHttpForConnectionInfo, 'connectionInfo-' + datasourceId + '.json', ajaxResponseForConnectionInfo)
|
||||
}
|
||||
function getPsCacheInfo(pscache) {
|
||||
var result = '<table cellspacing="1" cellpadding="5" width="100%">';
|
||||
for ( var i = 0; i < pscache.length; i++) {
|
||||
var stmt = pscache[i];
|
||||
result += '<tr>';
|
||||
result += '<td>' + stmt.sql + "</td>";
|
||||
result += '<td width="50">' + stmt.defaultRowPretch + "</td>";
|
||||
result += '<td width="50">' + stmt.rowPrefetch + "</td>";
|
||||
result += '<td width="50">' + stmt.hitCount + "</td>";
|
||||
result += '</tr>';
|
||||
}
|
||||
|
||||
result += "</table>";
|
||||
return result;
|
||||
}
|
||||
function ajaxResponseForConnectionInfo() {
|
||||
var connectionInfoList = getJSONResponseContent(xmlHttpForConnectionInfo);
|
||||
if (connectionInfoList == null)
|
||||
return;
|
||||
|
||||
var connectionInfoTable = document.getElementById("connectionInfoTable");
|
||||
while (connectionInfoTable.rows.length > 1) {
|
||||
connectionInfoTable.deleteRow(1);
|
||||
}
|
||||
for ( var i = 0; i < connectionInfoList.length; i++) {
|
||||
var connectionInfo = connectionInfoList[i];
|
||||
var newRow = connectionInfoTable.insertRow(-1);
|
||||
|
||||
newRow.insertCell(-1).innerHTML = connectionInfo.id;
|
||||
newRow.insertCell(-1).innerHTML = connectionInfo.useCount;
|
||||
|
||||
if (connectionInfo.lastActiveTime)
|
||||
newRow.insertCell(-1).innerHTML = new Date(connectionInfo.lastActiveTime);
|
||||
else
|
||||
newRow.insertCell(-1).innerHTML = '';
|
||||
|
||||
newRow.insertCell(-1).innerHTML = new Date(connectionInfo.connectTime);
|
||||
newRow.insertCell(-1).innerHTML = connectionInfo.holdability;
|
||||
newRow.insertCell(-1).innerHTML = connectionInfo.transactionIsolation;
|
||||
|
||||
newRow.insertCell(-1).innerHTML = connectionInfo.autoCommit;
|
||||
newRow.insertCell(-1).innerHTML = connectionInfo.readoOnly;
|
||||
|
||||
if (connectionInfo.pscache)
|
||||
newRow.insertCell(-1).innerHTML = getPsCacheInfo(connectionInfo.pscache);
|
||||
else
|
||||
newRow.insertCell(-1).innerHTML = '';
|
||||
}
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
$.namespace("druid.datasource");
|
||||
druid.datasource = function () {
|
||||
var keys = ["UserName", "URL", "DbType", "DriverClassName", "FilterClassNames", "TestOnBorrow", "TestWhileIdle", "TestOnReturn",
|
||||
"InitialSize", "MinIdle", "MaxActive", "QueryTimeout", "TransactionQueryTimeout", "LoginTimeout", "ValidConnectionCheckerClassName",
|
||||
"ExceptionSorterClassName", "DefaultAutoCommit", "DefaultReadOnly", "DefaultTransactionIsolation", "NotEmptyWaitCount",
|
||||
"NotEmptyWaitMillis", "WaitThreadCount", "StartTransactionCount", "TransactionHistogram", "PoolingCount", "PoolingPeak",
|
||||
"PoolingPeakTime", "ActiveCount", "ActivePeak", "ActivePeakTime", "LogicConnectCount", "LogicCloseCount", "LogicConnectErrorCount",
|
||||
"PhysicalConnectCount", "PhysicalCloseCount", "PhysicalConnectErrorCount", "ExecuteCount", "ErrorCount", "CommitCount",
|
||||
"RollbackCount", "PSCacheAccessCount", "PSCacheHitCount", "PSCacheMissCount", "ConnectionHoldTimeHistogram"]
|
||||
var descs = ["Specify the username used when creating a new connection.",
|
||||
"The JDBC driver connection URL", "database type", "The fully qualifed name of the JDBC driver class",
|
||||
"All the fully qualifed name of the filter classes", " Test or not when borrow a connection", "Test or not when return a connection",
|
||||
"Test or not when a connection is idle for a while","The size of datasource connections to create when initial a datasource",
|
||||
"The minimum number of connections a pool should hold. ", "The maximum number of connections for a pool", "", "", "", "",
|
||||
"", "", "", "", "Total times for wait to get a connection","Total millins for wait to get a connection", "The current waiting thread count",
|
||||
"The count of start transaction", "The histogram values of transaction time, [0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]",
|
||||
"The current usefull connection count", "The usefull connection peak count",
|
||||
"The usefull connection peak time", "The current active connection count", "The current active connection peak count", "The active connection peak time",
|
||||
"Total connect times from datasource", "Total close connect times from datasource", "Total connect error times",
|
||||
"Create physical connnection count", "Close physical connnection count", "Total physical connect error times", "", "", "",
|
||||
"", "PerpareStatement access count", "PerpareStatement hit count", "PerpareStatement miss count", "The histogram values of connection hold time, [0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]"]
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(1);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "datasource.json",
|
||||
success: function(data) {
|
||||
var datasourceList = data.Content;
|
||||
for ( var i = 0; i < datasourceList.length; i++) {
|
||||
var datasource = datasourceList[i];
|
||||
druid.datasource.generateDataSourceTable(datasource);
|
||||
}
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
},
|
||||
|
||||
generateDataSourceTable : function(datasource) {
|
||||
var datasourceId = datasource.Identity;
|
||||
var html = '<h4>Basic Info For DataSource-' + datasourceId + '<a href="datasource-' + datasourceId + '.json" target="_blank">View JSON API</a></h4>';
|
||||
html += '<table class="table table-bordered table-striped responsive-utilities">';
|
||||
|
||||
for(var i=0, len=keys.length; i<len; i++) {
|
||||
var value = datasource[keys[i]];
|
||||
if(value == null)
|
||||
value = "";
|
||||
|
||||
if(i<19)
|
||||
html += '<tr><td valign="top" class="td_lable">* ' + keys[i] + '</td><td>' + value + '</td><td>' + descs[i] + '</td></tr>'
|
||||
else
|
||||
html += '<tr><td valign="top" class="td_lable">' + keys[i] + '</td><td>' + value + '</td><td>' + descs[i] + '</td></tr>'
|
||||
}
|
||||
|
||||
if (datasource.RemoveAbandoned == true)
|
||||
html += '<tr><td valign="top" class="td_lable">ActiveConnection StackTrace</td><td><a href="activeConnectionStackTrace.html?datasourceId=' + datasource.Identity + '">View</a></td><td>StackTrace for active Connection. <a href="activeConnectionStackTrace-'
|
||||
+ datasourceId + '.json" target="_blank">[View JSON API]</a></td></tr>'
|
||||
else
|
||||
html += '<tr><td valign="top" class="td_lable">ActiveConnection StackTrace</td><td>require set removeAbandoned=true</td><td>StackTrace for active Connection. <a href="activeConnectionStackTrace-'
|
||||
+ datasourceId + '.json" target="_blank">[View JSON API]</a></td></tr>'
|
||||
|
||||
html += '<tr><td valign="top" class="td_lable">PollingConnection Info</td><td><a href="connectionInfo.html?datasourceId=' + datasourceId+
|
||||
'">View</a></td><td>Info for polling connection. <a href="connectionInfo-' + datasourceId + '.json" target="_blank">[View JSON API]</a></td></tr>'
|
||||
|
||||
html += '</table>';
|
||||
$(".hero-unit h3").after(html);
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.datasource.init();
|
||||
});
|
||||
@@ -1,32 +0,0 @@
|
||||
function ajaxRequestForSqlInfo() {
|
||||
var clazz = getUrlVar("class");
|
||||
var method = getUrlVar("method");
|
||||
xmlHttpForConnectionInfo = getRequestObject();
|
||||
sendRequest(xmlHttpForConnectionInfo, 'spring-detail.json?class=' + clazz + '&method=' + method, ajaxResponseForSqlInfo)
|
||||
}
|
||||
|
||||
function ajaxResponseForSqlInfo() {
|
||||
var stat = getJSONResponseContent(xmlHttpForConnectionInfo);
|
||||
if (stat == null)
|
||||
return;
|
||||
|
||||
changeInnerHtml("Class", stat.Class);
|
||||
changeInnerHtml("Method", stat.Method);
|
||||
changeInnerHtml("ExecuteCount", stat.ExecuteCount);
|
||||
changeInnerHtml("ExecuteErrorCount", stat.ExecuteErrorCount);
|
||||
changeInnerHtml("ExecuteTimeMillis", stat.ExecuteTimeMillis);
|
||||
changeInnerHtml("RunningCount", stat.RunningCount);
|
||||
changeInnerHtml("ConcurrentMax", stat.ConcurrentMax);
|
||||
changeInnerHtml("JdbcExecuteCount", stat.JdbcExecuteCount);
|
||||
changeInnerHtml("JdbcExecuteErrorCount", stat.JdbcExecuteErrorCount);
|
||||
changeInnerHtml("JdbcExecuteTimeMillis", stat.JdbcExecuteTimeMillis);
|
||||
changeInnerHtml("JdbcCommitCount", stat.JdbcCommitCount);
|
||||
changeInnerHtml("JdbcRollbackCount", stat.JdbcRollbackCount);
|
||||
changeInnerHtml("JdbcFetchRowCount", stat.JdbcFetchRowCount);
|
||||
changeInnerHtml("JdbcUpdateCount", stat.JdbcUpdateCount);
|
||||
|
||||
changeInnerHtml("JdbcPoolConnectionOpenCount", stat.JdbcPoolConnectionOpenCount);
|
||||
changeInnerHtml("JdbcPoolConnectionCloseCount", stat.JdbcPoolConnectionCloseCount);
|
||||
changeInnerHtml("JdbcResultSetOpenCount", stat.JdbcResultSetOpenCount);
|
||||
changeInnerHtml("JdbcResultSetCloseCount", stat.JdbcResultSetCloseCount);
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
$.namespace("druid.spring");
|
||||
druid.spring = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(5);
|
||||
druid.common.ajaxuri = 'spring.json?';
|
||||
druid.common.handleAjaxResult = druid.spring.handleAjaxResult;
|
||||
this.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList==null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("SpringStatTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
for ( var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
newRow.insertCell(-1).innerHTML = i+1;
|
||||
newRow.insertCell(-1).innerHTML = stat.Class;
|
||||
newRow.insertCell(-1).innerHTML = '<a target="_blank" href="spring-detail.html?class=' + stat.Class + '&method=' + stat.Method + '">' + stat.Method + '</a>';
|
||||
|
||||
newRow.insertCell(-1).innerHTML = stat.ExecuteCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.ExecuteTimeMillis;
|
||||
newRow.insertCell(-1).innerHTML = stat.RunningCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.ConcurrentMax;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcExecuteCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcExecuteTimeMillis;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcCommitCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcRollbackCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcFetchRowCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcUpdateCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.spring.init();
|
||||
});
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
function ajaxRequestForSqlInfo() {
|
||||
var sqlId = getUrlVar("sqlId");
|
||||
xmlHttpForConnectionInfo = getRequestObject();
|
||||
sendRequest(xmlHttpForConnectionInfo, 'sql-' + sqlId + '.json', ajaxResponseForSqlInfo)
|
||||
}
|
||||
|
||||
function ajaxResponseForSqlInfo() {
|
||||
var sqlInfo = getJSONResponseContent(xmlHttpForConnectionInfo);
|
||||
if (sqlInfo == null)
|
||||
return;
|
||||
|
||||
changeInnerHtml("fullSql",sqlInfo.SQL);
|
||||
changeInnerHtml("formattedSql",sqlInfo.formattedSql);
|
||||
changeInnerHtml("parsed.table",sqlInfo.parsedTable);
|
||||
changeInnerHtml("parsed.fields",sqlInfo.parsedFields);
|
||||
changeInnerHtml("parsed.conditions",sqlInfo.parsedConditions);
|
||||
changeInnerHtml("parsed.relationships",sqlInfo.parsedRelationships);
|
||||
changeInnerHtml("parsed.orderbycolumns",sqlInfo.parsedOrderbycolumns);
|
||||
|
||||
changeInnerHtml("MaxTimespanOccurTime",sqlInfo.MaxTimespanOccurTime);
|
||||
changeInnerHtml("LastSlowParameters",sqlInfo.LastSlowParameters);
|
||||
changeInnerHtml("MaxTimespan",sqlInfo.MaxTimespan);
|
||||
|
||||
changeInnerHtml("LastErrorMessage",sqlInfo.LastErrorMessage);
|
||||
changeInnerHtml("LastErrorClass",sqlInfo.LastErrorClass);
|
||||
changeInnerHtml("LastErrorTime",sqlInfo.LastErrorTime);
|
||||
changeInnerHtml("LastErrorStackTrace",sqlInfo.LastErrorStackTrace);
|
||||
|
||||
changeInnerHtml("BatchSizeMax",sqlInfo.BatchSizeMax);
|
||||
changeInnerHtml("BatchSizeTotal",sqlInfo.BatchSizeTotal);
|
||||
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
$.namespace("druid.weburi");
|
||||
druid.weburi = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(2);
|
||||
druid.common.ajaxuri = 'weburi.json?';
|
||||
druid.common.handleAjaxResult = druid.weburi.handleAjaxResult;
|
||||
druid.common.setOrderBy("SQL");
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var sqlStatList = data.Content;
|
||||
if(sqlStatList==null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("SqlStatTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
for ( var i = 0; i < sqlStatList.length; i++) {
|
||||
var sqlStat = sqlStatList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
newRow.insertCell(-1).innerHTML = i+1;
|
||||
newRow.insertCell(-1).innerHTML = '<a target="_blank" href="sql-detail.html?sqlId=' + sqlStat.ID + '">' + subSqlString(sqlStat.SQL, 25) + '</a>';
|
||||
// if (sqlStat.File)
|
||||
// newRow.insertCell(-1).innerHTML = sqlStat.File;
|
||||
// else
|
||||
// newRow.insertCell(-1).innerHTML = '';
|
||||
// if (sqlStat.Name)
|
||||
// newRow.insertCell(-1).innerHTML = sqlStat.Name;
|
||||
// else
|
||||
// newRow.insertCell(-1).innerHTML = '';
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.ExecuteCount;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.TotalTime;
|
||||
//显示执行的时间比配置的均值时间慢的SQL链接
|
||||
var lastSlowHtml = sqlStat.MaxTimespan;
|
||||
if (sqlStat.LastSlowParameters!=null && sqlStat.LastSlowParameters.length>0) {
|
||||
lastSlowHtml ='<a target="_blank" style="color:red" href="sql-detail.html?sqlId=' + sqlStat.ID + '">'+sqlStat.MaxTimespan+'</a>';
|
||||
}
|
||||
newRow.insertCell(-1).innerHTML = lastSlowHtml;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.InTransactionCount;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.ErrorCount;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.EffectedRowCount;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.FetchRowCount;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.RunningCount;
|
||||
newRow.insertCell(-1).innerHTML = sqlStat.ConcurrentMax;
|
||||
// hiHtml += '<a href="#' + sqlStat.Histogram + '">ExecHistogram</a> |';
|
||||
// hiHtml += '<a href="#' + sqlStat.FetchRowCountHistogram +
|
||||
// '">FetchRow</a> | ';
|
||||
// hiHtml += '<a href="#' + sqlStat.EffectedRowCountHistogram +
|
||||
// '">UpdateCount</a> | ';
|
||||
// hiHtml += '<a href="#' + sqlStat.ExecuteAndResultHoldTimeHistogram +
|
||||
// '">ExecAndRsHold</a>';
|
||||
newRow.insertCell(-1).innerHTML = '[' + sqlStat.Histogram + ']';
|
||||
newRow.insertCell(-1).innerHTML = '[' + sqlStat.ExecuteAndResultHoldTimeHistogram + ']';
|
||||
newRow.insertCell(-1).innerHTML = '[' + sqlStat.FetchRowCountHistogram + ']';
|
||||
newRow.insertCell(-1).innerHTML = '[' + sqlStat.EffectedRowCountHistogram + ']';
|
||||
}
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.weburi.init();
|
||||
});
|
||||
@@ -1,46 +0,0 @@
|
||||
function ajaxRequestForSqlInfo() {
|
||||
var sessionId = getUrlVar("sessionId");
|
||||
xmlHttpForConnectionInfo = getRequestObject();
|
||||
sendRequest(xmlHttpForConnectionInfo, 'websession-' + sessionId + '.json', ajaxResponseForSqlInfo)
|
||||
}
|
||||
|
||||
function ajaxResponseForSqlInfo() {
|
||||
var stat = getJSONResponseContent(xmlHttpForConnectionInfo);
|
||||
if (stat == null)
|
||||
return;
|
||||
|
||||
changeInnerHtml("SESSIONID", stat.SESSIONID);
|
||||
if (stat.Principal) {
|
||||
changeInnerHtml("Principal", stat.Principal);
|
||||
}
|
||||
changeInnerHtml("CreateTime", stat.CreateTime);
|
||||
changeInnerHtml("LastAccessTime", stat.LastAccessTime);
|
||||
changeInnerHtml("UserAgent", stat.UserAgent);
|
||||
changeInnerHtml("RemoteAddress", stat.RemoteAddress);
|
||||
changeInnerHtml("RequestCount", stat.RequestCount);
|
||||
changeInnerHtml("RequestTimeMillisTotal", stat.RequestTimeMillisTotal);
|
||||
changeInnerHtml("RunningCount", stat.RunningCount);
|
||||
changeInnerHtml("ConcurrentMax", stat.ConcurrentMax);
|
||||
changeInnerHtml("JdbcExecuteCount", stat.JdbcExecuteCount);
|
||||
changeInnerHtml("JdbcExecuteTimeMillis", stat.JdbcExecuteTimeMillis);
|
||||
changeInnerHtml("JdbcCommitCount", stat.JdbcCommitCount);
|
||||
changeInnerHtml("JdbcRollbackCount", stat.JdbcRollbackCount);
|
||||
changeInnerHtml("JdbcFetchRowCount", stat.JdbcFetchRowCount);
|
||||
changeInnerHtml("JdbcUpdateCount", stat.JdbcUpdateCount);
|
||||
|
||||
{
|
||||
var html = '[';
|
||||
html += '<a title="count of < 1 ms">' + stat.RequestInterval[0] + '</a>';
|
||||
html += ', <a title="count of 1 - 10 ms">' + stat.RequestInterval[1] + '</a>';
|
||||
html += ', <a title="count of 10 - 100 ms">' + stat.RequestInterval[2] + '</a>';
|
||||
html += ', <a title="count of 100 - 1000 ms">' + stat.RequestInterval[3] + '</a>';
|
||||
html += ', <a title="count of 1 - 10 s">' + stat.RequestInterval[4] + '</a>';
|
||||
html += ', <a title="count of 10 - 100 s">' + stat.RequestInterval[5] + '</a>';
|
||||
html += ', <a title="count of 100 - 1000 s">' + stat.RequestInterval[6] + '</a>';
|
||||
html += ', <a title="count of 1000 - 10000 s">' + stat.RequestInterval[7] + '</a>';
|
||||
html += ', <a title="count of > 10000 s">' + stat.RequestInterval[8] + '</a>';
|
||||
html += ']';
|
||||
|
||||
changeInnerHtml("RequestInterval", html);
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
$.namespace("druid.websession");
|
||||
druid.websession = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(4);
|
||||
druid.common.ajaxuri = 'websession.json?';
|
||||
druid.common.handleAjaxResult = druid.websession.handleAjaxResult;
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList == null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("WebSessionStatTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
for (var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
newRow.insertCell(-1).innerHTML = i+1;
|
||||
newRow.insertCell(-1).innerHTML = '<a target="_blank" href="websession-detail.html?sessionId=' + stat.SESSIONID + '">' + stat.SESSIONID + '</a>';
|
||||
|
||||
if (stat.Principal) {
|
||||
newRow.insertCell(-1).innerHTML = stat.Principal;
|
||||
} else {
|
||||
newRow.insertCell(-1).innerHTML = '';
|
||||
}
|
||||
newRow.insertCell(-1).innerHTML = stat.CreateTime;
|
||||
newRow.insertCell(-1).innerHTML = stat.LastAccessTime;
|
||||
newRow.insertCell(-1).innerHTML = stat.RemoteAddress;
|
||||
newRow.insertCell(-1).innerHTML = stat.RequestCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.RequestTimeMillisTotal;
|
||||
newRow.insertCell(-1).innerHTML = stat.RunningCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.ConcurrentMax;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcExecuteCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcExecuteTimeMillis;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcCommitCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcRollbackCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcFetchRowCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcUpdateCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.websession.init();
|
||||
});
|
||||
@@ -1,32 +0,0 @@
|
||||
function ajaxRequestForSqlInfo() {
|
||||
var uri = getUrlVar("uri");
|
||||
xmlHttpForConnectionInfo = getRequestObject();
|
||||
sendRequest(xmlHttpForConnectionInfo, 'weburi-' + encodeURI(uri) + '.json', ajaxResponseForSqlInfo)
|
||||
}
|
||||
|
||||
function ajaxResponseForSqlInfo() {
|
||||
var stat = getJSONResponseContent(xmlHttpForConnectionInfo);
|
||||
if (stat == null)
|
||||
return;
|
||||
|
||||
changeInnerHtml("URI", stat.URI);
|
||||
changeInnerHtml("RequestCount", stat.RequestCount);
|
||||
changeInnerHtml("RequestTimeMillis", stat.RequestTimeMillis);
|
||||
changeInnerHtml("LastAccessTime", stat.LastAccessTime);
|
||||
changeInnerHtml("RunningCount", stat.RunningCount);
|
||||
changeInnerHtml("ConcurrentMax", stat.ConcurrentMax);
|
||||
changeInnerHtml("JdbcExecuteCount", stat.JdbcExecuteCount);
|
||||
changeInnerHtml("JdbcExecuteErrorCount", stat.JdbcExecuteErrorCount);
|
||||
changeInnerHtml("JdbcExecutePeak", stat.JdbcExecutePeak);
|
||||
changeInnerHtml("JdbcExecuteTimeMillis", stat.JdbcExecuteTimeMillis);
|
||||
changeInnerHtml("JdbcCommitCount", stat.JdbcCommitCount);
|
||||
changeInnerHtml("JdbcRollbackCount", stat.JdbcRollbackCount);
|
||||
changeInnerHtml("JdbcFetchRowCount", stat.JdbcFetchRowCount);
|
||||
changeInnerHtml("JdbcFetchRowPeak", stat.JdbcFetchRowPeak);
|
||||
changeInnerHtml("JdbcUpdateCount", stat.JdbcUpdateCount);
|
||||
changeInnerHtml("JdbcUpdatePeak", stat.JdbcUpdatePeak);
|
||||
changeInnerHtml("JdbcPoolConnectionOpenCount", stat.JdbcPoolConnectionOpenCount);
|
||||
changeInnerHtml("JdbcPoolConnectionCloseCount", stat.JdbcPoolConnectionCloseCount);
|
||||
changeInnerHtml("JdbcResultSetOpenCount", stat.JdbcResultSetOpenCount);
|
||||
changeInnerHtml("JdbcResultSetCloseCount", stat.JdbcResultSetCloseCount);
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
$.namespace("druid.weburi");
|
||||
druid.weburi = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(3);
|
||||
druid.common.ajaxuri = 'weburi.json?';
|
||||
druid.common.handleAjaxResult = druid.weburi.handleAjaxResult;
|
||||
druid.common.setOrderBy("URI");
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList == null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("WebSessionStatTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
for (var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
newRow.insertCell(-1).innerHTML = i+1;
|
||||
newRow.insertCell(-1).innerHTML = '<a target="_blank" href="websession-detail.html?sessionId=' + stat.SESSIONID + '">' + stat.SESSIONID + '</a>';
|
||||
|
||||
if (stat.Principal) {
|
||||
newRow.insertCell(-1).innerHTML = stat.Principal;
|
||||
} else {
|
||||
newRow.insertCell(-1).innerHTML = '';
|
||||
}
|
||||
newRow.insertCell(-1).innerHTML = stat.CreateTime;
|
||||
newRow.insertCell(-1).innerHTML = stat.LastAccessTime;
|
||||
newRow.insertCell(-1).innerHTML = stat.RemoteAddress;
|
||||
newRow.insertCell(-1).innerHTML = stat.RequestCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.RequestTimeMillisTotal;
|
||||
newRow.insertCell(-1).innerHTML = stat.RunningCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.ConcurrentMax;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcExecuteCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcExecuteTimeMillis;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcCommitCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcRollbackCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcFetchRowCount;
|
||||
newRow.insertCell(-1).innerHTML = stat.JdbcUpdateCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.weburi.init();
|
||||
});
|
||||
@@ -1,100 +1,151 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Druid Spring Stat</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/spring-detail.js" type="text/javascript" charset="utf8"></script>
|
||||
<script >
|
||||
function init(){
|
||||
ajaxRequestForSqlInfo();
|
||||
var time3=setInterval("ajaxRequestForSqlInfo();",5000);
|
||||
buildMenu();
|
||||
buildFooter();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<div id="main">
|
||||
<br/>
|
||||
<h2> Spring View</h2>
|
||||
<br/>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> Class</td>
|
||||
<td id="Class"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Method</td>
|
||||
<td id="Method"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ExecuteCount</td>
|
||||
<td id="ExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ExecuteErrorCount</td>
|
||||
<td id="ExecuteErrorCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ExecuteTimeMillis</td>
|
||||
<td id="ExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RunningCount</td>
|
||||
<td id="RunningCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ConcurrentMax</td>
|
||||
<td id="ConcurrentMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteCount</td>
|
||||
<td id="JdbcExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteErrorCount</td>
|
||||
<td id="JdbcExecuteErrorCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteTimeMillis</td>
|
||||
<td id="JdbcExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcCommitCount</td>
|
||||
<td id="JdbcCommitCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcRollbackCount</td>
|
||||
<td id="JdbcRollbackCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowCount</td>
|
||||
<td id="JdbcFetchRowCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdateCount</td>
|
||||
<td id="JdbcUpdateCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionOpenCount</td>
|
||||
<td id="JdbcPoolConnectionOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionCloseCount</td>
|
||||
<td id="JdbcPoolConnectionCloseCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetOpenCount</td>
|
||||
<td id="JdbcResultSetOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetCloseCount</td>
|
||||
<td id="JdbcResultSetCloseCount"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<head>
|
||||
<title>Druid Spring Stat</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 src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="hero-unit" style="padding: 10px;">
|
||||
<h3>
|
||||
Spring View
|
||||
</h3>
|
||||
<table id="dataTable" class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> Class</td>
|
||||
<td id="Class"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Method</td>
|
||||
<td id="Method"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ExecuteCount</td>
|
||||
<td id="ExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ExecuteErrorCount</td>
|
||||
<td id="ExecuteErrorCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ExecuteTimeMillis</td>
|
||||
<td id="ExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RunningCount</td>
|
||||
<td id="RunningCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ConcurrentMax</td>
|
||||
<td id="ConcurrentMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteCount</td>
|
||||
<td id="JdbcExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteErrorCount</td>
|
||||
<td id="JdbcExecuteErrorCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteTimeMillis</td>
|
||||
<td id="JdbcExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcCommitCount</td>
|
||||
<td id="JdbcCommitCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcRollbackCount</td>
|
||||
<td id="JdbcRollbackCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowCount</td>
|
||||
<td id="JdbcFetchRowCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdateCount</td>
|
||||
<td id="JdbcUpdateCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionOpenCount</td>
|
||||
<td id="JdbcPoolConnectionOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionCloseCount</td>
|
||||
<td id="JdbcPoolConnectionCloseCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetOpenCount</td>
|
||||
<td id="JdbcResultSetOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetCloseCount</td>
|
||||
<td id="JdbcResultSetCloseCount"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="container">
|
||||
<a class="btn btn-primary" href="javascript:window.close();">Close</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.springdetail");
|
||||
druid.springdetail = function () {
|
||||
var clazz = druid.common.getUrlVar("class");
|
||||
var method = druid.common.getUrlVar("method");
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(5);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'spring-detail.json?class=' + clazz + '&method=' + method,
|
||||
success: function(data) {
|
||||
var stat = data.Content;
|
||||
if (stat == null)
|
||||
return;
|
||||
|
||||
$("#Class").text(stat.Class)
|
||||
$("#Method").text(stat.Method)
|
||||
$("#ExecuteCount").text(stat.ExecuteCount)
|
||||
$("#ExecuteErrorCount").text(stat.ExecuteErrorCount)
|
||||
$("#ExecuteTimeMillis").text(stat.ExecuteTimeMillis)
|
||||
$("#RunningCount").text(stat.RunningCount)
|
||||
$("#ConcurrentMax").text(stat.ConcurrentMax)
|
||||
$("#JdbcExecuteCount").text(stat.JdbcExecuteCount)
|
||||
$("#JdbcExecuteErrorCount").text(stat.JdbcExecuteErrorCount)
|
||||
$("#JdbcExecuteTimeMillis").text(stat.JdbcExecuteTimeMillis)
|
||||
$("#JdbcCommitCount").text(stat.JdbcCommitCount)
|
||||
$("#JdbcRollbackCount").text(stat.JdbcRollbackCount)
|
||||
$("#JdbcFetchRowCount").text(stat.JdbcFetchRowCount)
|
||||
$("#JdbcUpdateCount").text(stat.JdbcUpdateCount)
|
||||
|
||||
$("#JdbcPoolConnectionOpenCount").text(stat.JdbcPoolConnectionOpenCount)
|
||||
$("#JdbcPoolConnectionCloseCount").text(stat.JdbcPoolConnectionCloseCount)
|
||||
$("#JdbcResultSetOpenCount").text(stat.JdbcResultSetOpenCount)
|
||||
$("#JdbcResultSetCloseCount").text(stat.JdbcResultSetCloseCount)
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.springdetail.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,7 +7,6 @@
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script type="text/javascript" src="js/jquery.min.js"></script>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/spring.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@@ -17,7 +16,7 @@
|
||||
<h3>
|
||||
Spring Stat
|
||||
</h3>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<table id="dataTable" class="table table-bordered table-striped responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="td_lable">N--</th>
|
||||
@@ -35,10 +34,62 @@
|
||||
<th class="td_lable" width="80"><a id="th-JdbcUpdateCount" href="javascript:void(0)" onclick="druid.common.setOrderBy('JdbcUpdateCount');">Jdbc Update</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.spring");
|
||||
druid.spring = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(5);
|
||||
druid.common.ajaxuri = 'spring.json?';
|
||||
druid.common.handleAjaxResult = druid.spring.handleAjaxResult;
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList==null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("dataTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
var html = "";
|
||||
for ( var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
html += "<tr>";
|
||||
html += "<td>" + (i + 1) + "</td>";
|
||||
html += "<td>" + stat.Class + "</td>";
|
||||
html += "<td>" + '<a target="_blank" href="spring-detail.html?class=' + stat.Class + '&method=' + stat.Method + '">' + stat.Method + '</a>' + "</td>";
|
||||
html += "<td>" + stat.ExecuteCount + "</td>";
|
||||
html += "<td>" + stat.ExecuteTimeMillis + "</td>";
|
||||
html += "<td>" + stat.RunningCount + "</td>";
|
||||
html += "<td>" + stat.ConcurrentMax + "</td>";
|
||||
html += "<td>" + stat.JdbcExecuteCount + "</td>";
|
||||
html += "<td>" + stat.JdbcExecuteTimeMillis + "</td>";
|
||||
html += "<td>" + stat.JdbcCommitCount + "</td>";
|
||||
html += "<td>" + stat.JdbcRollbackCount + "</td>";
|
||||
html += "<td>" + stat.JdbcFetchRowCount + "</td>";
|
||||
html += "<td>" + stat.JdbcUpdateCount + "</td>";
|
||||
html += "</tr>";
|
||||
}
|
||||
$("#dataTable tbody").html(html);
|
||||
druid.common.stripes();
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.spring.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,105 +1,156 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/sql-detail.js" type="text/javascript" charset="utf8"></script>
|
||||
<script >
|
||||
function init(){
|
||||
ajaxRequestForSqlInfo();
|
||||
var time3=setInterval("ajaxRequestForSqlInfo();",5000);
|
||||
buildMenu();
|
||||
buildFooter();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<br/>
|
||||
<div id="main">
|
||||
<br/>
|
||||
<h2> FULL SQL</h2>
|
||||
<h4 id="fullSql"></h4>
|
||||
<h2> Format View:</h2>
|
||||
<textarea style='width:99%;height:120px;;border:1px #A8C7CE solid;line-height:20px;font-size:12px;' id="formattedSql">
|
||||
</textarea>
|
||||
<br/>
|
||||
<br/>
|
||||
<h2> Parse View:</h2>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> Tables</td>
|
||||
<td id="parsed.table"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Fields</td>
|
||||
<td id="parsed.fields"></td>
|
||||
</tr>
|
||||
<tr> <td class='td_lable'> Coditions</td>
|
||||
<td id="parsed.conditions"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Relationships</td>
|
||||
<td id="parsed.relationships"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> OrderByColumns</td>
|
||||
<td id="parsed.orderbycolumns"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
|
||||
<h2> LastSlow View:</h2>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>MaxTimespan</td>
|
||||
<td id="MaxTimespan"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>MaxTimespanOccurTime</td>
|
||||
<td id="MaxTimespanOccurTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>LastSlowParameters</td>
|
||||
<td id="LastSlowParameters"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<h2> Last Error View:</h2>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>LastErrorMessage</td>
|
||||
<td id="LastErrorMessage"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>LastErrorClass</td>
|
||||
<td id="LastErrorClass"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>LastErrorTime</td>
|
||||
<td id="LastErrorTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>LastErrorStackTrace</td>
|
||||
<td id="LastErrorStackTrace"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<h2>Batch View:</h2>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>BatchSizeMax</td>
|
||||
<td id="BatchSizeMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>BatchSizeTotal</td>
|
||||
<td id="BatchSizeTotal"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
<head>
|
||||
<title>Druid SQL Stat</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 src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="hero-unit" style="padding: 10px;">
|
||||
<h3>
|
||||
FULL SQL
|
||||
</h3>
|
||||
<h5 id="fullSql"></h5>
|
||||
<h2> Format View:</h2>
|
||||
<textarea style='width:99%;height:120px;;border:1px #A8C7CE solid;line-height:20px;font-size:12px;' id="formattedSql">
|
||||
</textarea>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3> Parse View:</h3>
|
||||
<table class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> Tables</td>
|
||||
<td id="parsedtable"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Fields</td>
|
||||
<td id="parsedfields"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Coditions</td>
|
||||
<td id="parsedconditions"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> Relationships</td>
|
||||
<td id="parsedrelationships"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> OrderByColumns</td>
|
||||
<td id="parsedorderbycolumns"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
|
||||
<h3> LastSlow View:</h3>
|
||||
<table class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>MaxTimespan</td>
|
||||
<td id="MaxTimespan"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>MaxTimespanOccurTime</td>
|
||||
<td id="MaxTimespanOccurTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>LastSlowParameters</td>
|
||||
<td id="LastSlowParameters"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<h3> Last Error View:</h3>
|
||||
<table class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>LastErrorMessage</td>
|
||||
<td id="LastErrorMessage"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>LastErrorClass</td>
|
||||
<td id="LastErrorClass"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>LastErrorTime</td>
|
||||
<td id="LastErrorTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>LastErrorStackTrace</td>
|
||||
<td id="LastErrorStackTrace"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<h3>Batch View:</h3>
|
||||
<table class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'>BatchSizeMax</td>
|
||||
<td id="BatchSizeMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'>BatchSizeTotal</td>
|
||||
<td id="BatchSizeTotal"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="container">
|
||||
<a class="btn btn-primary" href="javascript:window.close();">Close</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.sqlDetail");
|
||||
druid.sqlDetail = function () {
|
||||
var sqlId = druid.common.getUrlVar("sqlId");
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(2);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'sql-' + sqlId + '.json',
|
||||
success: function(data) {
|
||||
var sqlInfo = data.Content;
|
||||
if (sqlInfo == null)
|
||||
return;
|
||||
|
||||
$("#fullSql").text(sqlInfo.SQL)
|
||||
$("#formattedSql").text(sqlInfo.formattedSql)
|
||||
$("#parsedtable").text(sqlInfo.parsedTable)
|
||||
$("#parsedfields").text(sqlInfo.parsedFields)
|
||||
$("#parsedconditions").text(sqlInfo.parsedConditions)
|
||||
$("#parsedrelationships").text(sqlInfo.parsedRelationships)
|
||||
$("#parsedorderbycolumns").text(sqlInfo.parsedOrderbycolumns)
|
||||
|
||||
$("#MaxTimespanOccurTime").text(sqlInfo.MaxTimespanOccurTime)
|
||||
$("#LastSlowParameters").text(sqlInfo.LastSlowParameters)
|
||||
$("#MaxTimespan").text(sqlInfo.MaxTimespan)
|
||||
|
||||
$("#LastErrorMessage").text(sqlInfo.LastErrorMessage)
|
||||
$("#LastErrorClass").text(sqlInfo.LastErrorClass)
|
||||
$("#LastErrorTime").text(sqlInfo.LastErrorTime)
|
||||
$("#LastErrorStackTrace").text(sqlInfo.LastErrorStackTrace)
|
||||
|
||||
$("#BatchSizeMax").text(sqlInfo.BatchSizeMax)
|
||||
$("#BatchSizeTotal").text(sqlInfo.BatchSizeTotal)
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.sqlDetail.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script type="text/javascript" src="js/jquery.min.js"></script>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/sql.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@@ -17,7 +16,7 @@
|
||||
<h3>
|
||||
SQL Stat
|
||||
</h3>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<table id="dataTable" class="table table-bordered table-striped responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="td_lable">N--</th>
|
||||
@@ -69,10 +68,70 @@
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.weburi");
|
||||
druid.weburi = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(2);
|
||||
druid.common.ajaxuri = 'sql.json?';
|
||||
druid.common.handleAjaxResult = druid.weburi.handleAjaxResult;
|
||||
druid.common.setOrderBy("SQL");
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var sqlStatList = data.Content;
|
||||
if(sqlStatList==null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("dataTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
var html = "";
|
||||
for ( var i = 0; i < sqlStatList.length; i++) {
|
||||
var stat = sqlStatList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
html += "<tr>";
|
||||
html += "<td>" + (i + 1) + "</td>";
|
||||
html += "<td>" + '<a target="_blank" href="sql-detail.html?sqlId=' + stat.ID + '">' + druid.common.subSqlString(stat.SQL, 25) + '</a>' + "</td>";
|
||||
html += "<td>" + stat.ExecuteCount + "</td>";
|
||||
html += "<td>" + stat.TotalTime + "</td>";
|
||||
|
||||
var lastSlowHtml = stat.MaxTimespan;
|
||||
if (stat.LastSlowParameters!=null && stat.LastSlowParameters.length>0) {
|
||||
lastSlowHtml ='<a target="_blank" style="color:red" href="sql-detail.html?sqlId=' + stat.ID + '">'+stat.MaxTimespan+'</a>';
|
||||
}
|
||||
html += "<td>" + lastSlowHtml + "</td>";
|
||||
html += "<td>" + stat.InTransactionCount + "</td>";
|
||||
html += "<td>" + stat.ErrorCount + "</td>";
|
||||
html += "<td>" + stat.EffectedRowCount + "</td>";
|
||||
html += "<td>" + stat.FetchRowCount + "</td>";
|
||||
html += "<td>" + stat.RunningCount + "</td>";
|
||||
html += "<td>" + stat.ConcurrentMax + "</td>";
|
||||
html += "<td>" + '[' + stat.Histogram + ']' + "</td>";
|
||||
html += "<td>" + '[' + stat.ExecuteAndResultHoldTimeHistogram + ']' + "</td>";
|
||||
html += "<td>" + '[' + stat.FetchRowCountHistogram + ']' + "</td>";
|
||||
html += "<td>" + '[' + stat.EffectedRowCountHistogram + ']' + "</td>";
|
||||
html += "</tr>";
|
||||
}
|
||||
$("#dataTable tbody").html(html);
|
||||
druid.common.stripes();
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.weburi.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,92 +1,152 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Druid Web Session Stat</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/websession-detail.js" type="text/javascript" charset="utf8"></script>
|
||||
<script >
|
||||
function init(){
|
||||
ajaxRequestForSqlInfo();
|
||||
var time3=setInterval("ajaxRequestForSqlInfo();",5000);
|
||||
buildMenu();
|
||||
buildFooter();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<div id="main">
|
||||
<br/>
|
||||
<h2> Web Session View</h2>
|
||||
<br/>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> SESSIONID</td>
|
||||
<td id="SESSIONID"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> UserAgent</td>
|
||||
<td id="UserAgent"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> CreateTime</td>
|
||||
<td id="CreateTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> LastAccessTime</td>
|
||||
<td id="LastAccessTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RemoteAddress</td>
|
||||
<td id="RemoteAddress"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestCount</td>
|
||||
<td id="RequestCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestTimeMillisTotal</td>
|
||||
<td id="RequestTimeMillisTotal"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestInterval</td>
|
||||
<td id="RequestInterval"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RunningCount</td>
|
||||
<td id="RunningCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ConcurrentMax</td>
|
||||
<td id="ConcurrentMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteCount</td>
|
||||
<td id="JdbcExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteTimeMillis</td>
|
||||
<td id="JdbcExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcCommitCount</td>
|
||||
<td id="JdbcCommitCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcRollbackCount</td>
|
||||
<td id="JdbcRollbackCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowCount</td>
|
||||
<td id="JdbcFetchRowCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdateCount</td>
|
||||
<td id="JdbcUpdateCount"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</body>
|
||||
<head>
|
||||
<title>Druid Web Session Stat</title>
|
||||
<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 src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="hero-unit" style="padding: 10px;">
|
||||
<h3>
|
||||
Web Session View
|
||||
</h3>
|
||||
<table id="dataTable" class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> SESSIONID</td>
|
||||
<td id="SESSIONID"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> UserAgent</td>
|
||||
<td id="UserAgent"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> CreateTime</td>
|
||||
<td id="CreateTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> LastAccessTime</td>
|
||||
<td id="LastAccessTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RemoteAddress</td>
|
||||
<td id="RemoteAddress"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestCount</td>
|
||||
<td id="RequestCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestTimeMillisTotal</td>
|
||||
<td id="RequestTimeMillisTotal"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestInterval</td>
|
||||
<td id="RequestInterval"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RunningCount</td>
|
||||
<td id="RunningCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ConcurrentMax</td>
|
||||
<td id="ConcurrentMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteCount</td>
|
||||
<td id="JdbcExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteTimeMillis</td>
|
||||
<td id="JdbcExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcCommitCount</td>
|
||||
<td id="JdbcCommitCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcRollbackCount</td>
|
||||
<td id="JdbcRollbackCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowCount</td>
|
||||
<td id="JdbcFetchRowCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdateCount</td>
|
||||
<td id="JdbcUpdateCount"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="container">
|
||||
<a class="btn btn-primary" href="javascript:window.close();">Close</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.index");
|
||||
druid.index = function () {
|
||||
var sessionId = druid.common.getUrlVar("sessionId");
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(4);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'websession-' + sessionId + '.json',
|
||||
success: function(data) {
|
||||
if (data.Content == null)
|
||||
return;
|
||||
$("#SESSIONID").text(data.Content.SESSIONID)
|
||||
if (data.Content.Principal) {
|
||||
$("#Principal").text(data.Content.Principal)
|
||||
}
|
||||
|
||||
$("#CreateTime").text(data.Content.CreateTime)
|
||||
$("#LastAccessTime").text(data.Content.LastAccessTime)
|
||||
$("#UserAgent").text(data.Content.UserAgent)
|
||||
$("#RemoteAddress").text(data.Content.RemoteAddress)
|
||||
$("#RequestCount").text(data.Content.RequestCount)
|
||||
$("#RequestTimeMillisTotal").text(data.Content.RequestTimeMillisTotal)
|
||||
$("#RunningCount").text(data.Content.RunningCount)
|
||||
$("#ConcurrentMax").text(data.Content.ConcurrentMax)
|
||||
$("#JdbcExecuteCount").text(data.Content.JdbcExecuteCount)
|
||||
$("#JdbcExecuteTimeMillis").text(data.Content.JdbcExecuteTimeMillis)
|
||||
$("#JdbcCommitCount").text(data.Content.JdbcCommitCount)
|
||||
$("#JdbcRollbackCount").text(data.Content.JdbcRollbackCount)
|
||||
$("#JdbcFetchRowCount").text(data.Content.JdbcFetchRowCount)
|
||||
$("#JdbcUpdateCount").text(data.Content.JdbcUpdateCount)
|
||||
var html = '[';
|
||||
html += '<a title="count of < 1 ms">' + data.Content.RequestInterval[0] + '</a>';
|
||||
html += ', <a title="count of 1 - 10 ms">' + data.Content.RequestInterval[1] + '</a>';
|
||||
html += ', <a title="count of 10 - 100 ms">' + data.Content.RequestInterval[2] + '</a>';
|
||||
html += ', <a title="count of 100 - 1000 ms">' + data.Content.RequestInterval[3] + '</a>';
|
||||
html += ', <a title="count of 1 - 10 s">' + data.Content.RequestInterval[4] + '</a>';
|
||||
html += ', <a title="count of 10 - 100 s">' + data.Content.RequestInterval[5] + '</a>';
|
||||
html += ', <a title="count of 100 - 1000 s">' + data.Content.RequestInterval[6] + '</a>';
|
||||
html += ', <a title="count of 1000 - 10000 s">' + data.Content.RequestInterval[7] + '</a>';
|
||||
html += ', <a title="count of > 10000 s">' + data.Content.RequestInterval[8] + '</a>';
|
||||
html += ']';
|
||||
$("#RequestInterval").html(html);
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.index.init();
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script type="text/javascript" src="js/jquery.min.js"></script>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/websession.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@@ -17,7 +16,7 @@
|
||||
<h3>
|
||||
Web Session Stat
|
||||
</h3>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<table id="dataTable" class="table table-bordered table-striped responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="td_lable">N--</th>
|
||||
@@ -37,11 +36,70 @@
|
||||
<th class="td_lable" width="80"><a id="th-JdbcFetchRowCount" href="javascript:void(0)" onclick="druid.common.setOrderBy('JdbcFetchRowCount');">Jdbc FetchRow</a></th>
|
||||
<th class="td_lable" width="80"><a id="th-JdbcUpdateCount" href="javascript:void(0)" onclick="druid.common.setOrderBy('JdbcUpdateCount');">Jdbc Update</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.websession");
|
||||
druid.websession = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(4);
|
||||
druid.common.ajaxuri = 'websession.json?';
|
||||
druid.common.handleAjaxResult = druid.websession.handleAjaxResult;
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList == null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("dataTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
var html = "";
|
||||
for ( var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
html += "<tr>";
|
||||
html += "<td>" + (i + 1) + "</td>";
|
||||
html += "<td>" + '<a target="_blank" href="websession-detail.html?sessionId=' + stat.SESSIONID + '">' + stat.SESSIONID + '</a>';
|
||||
if (stat.Principal) {
|
||||
html += "<td>" + stat.Principal + "</td>";
|
||||
} else {
|
||||
html += "<td></td>";
|
||||
}
|
||||
html += "<td>" + stat.CreateTime + "</td>";
|
||||
html += "<td>" + stat.LastAccessTime + "</td>";
|
||||
html += "<td>" + stat.RemoteAddress + "</td>";
|
||||
html += "<td>" + stat.RequestCount + "</td>";
|
||||
html += "<td>" + stat.RequestTimeMillisTotal + "</td>";
|
||||
html += "<td>" + stat.RunningCount + "</td>";
|
||||
html += "<td>" + stat.ConcurrentMax + "</td>";
|
||||
html += "<td>" + stat.JdbcExecuteCount + "</td>";
|
||||
html += "<td>" + stat.JdbcExecuteTimeMillis + "</td>";
|
||||
html += "<td>" + stat.JdbcCommitCount + "</td>";
|
||||
html += "<td>" + stat.JdbcRollbackCount + "</td>";
|
||||
html += "<td>" + stat.JdbcFetchRowCount + "</td>";
|
||||
html += "<td>" + stat.JdbcUpdateCount + "</td>";
|
||||
html += "</tr>";
|
||||
}
|
||||
$("#dataTable tbody").html(html);
|
||||
druid.common.stripes();
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.websession.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,108 +1,158 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Druid Web URI Stat</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/weburi-detail.js" type="text/javascript" charset="utf8"></script>
|
||||
<script >
|
||||
function init(){
|
||||
ajaxRequestForSqlInfo();
|
||||
var time3=setInterval("ajaxRequestForSqlInfo();",5000);
|
||||
buildMenu();
|
||||
buildFooter();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<div id="main">
|
||||
<br/>
|
||||
<h2> Web URI View</h2>
|
||||
<br/>
|
||||
<table cellpadding='5' cellspacing='1' width='99%'>
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> URI</td>
|
||||
<td id="URI"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestCount</td>
|
||||
<td id="RequestCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestTimeMillis</td>
|
||||
<td id="RequestTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> LastAccessTime</td>
|
||||
<td id="LastAccessTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RunningCount</td>
|
||||
<td id="RunningCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ConcurrentMax</td>
|
||||
<td id="ConcurrentMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteCount</td>
|
||||
<td id="JdbcExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteErrorCount</td>
|
||||
<td id="JdbcExecuteErrorCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecutePeak</td>
|
||||
<td id="JdbcExecutePeak"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteTimeMillis</td>
|
||||
<td id="JdbcExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcCommitCount</td>
|
||||
<td id="JdbcCommitCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcRollbackCount</td>
|
||||
<td id="JdbcRollbackCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowCount</td>
|
||||
<td id="JdbcFetchRowCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowPeak</td>
|
||||
<td id="JdbcFetchRowPeak"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdateCount</td>
|
||||
<td id="JdbcUpdateCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdatePeak</td>
|
||||
<td id="JdbcUpdatePeak"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionOpenCount</td>
|
||||
<td id="JdbcPoolConnectionOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionCloseCount</td>
|
||||
<td id="JdbcPoolConnectionCloseCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetOpenCount</td>
|
||||
<td id="JdbcResultSetOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetCloseCount</td>
|
||||
<td id="JdbcResultSetCloseCount"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</body>
|
||||
<head>
|
||||
<title>Druid Web URI Stat</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 src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="hero-unit" style="padding: 10px;">
|
||||
<h3>
|
||||
Web URI View
|
||||
</h3>
|
||||
<table id="dataTable" class="table table-bordered" style="background-color: #fff">
|
||||
<tr>
|
||||
<td class='td_lable' width='130'> URI</td>
|
||||
<td id="URI"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestCount</td>
|
||||
<td id="RequestCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RequestTimeMillis</td>
|
||||
<td id="RequestTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> LastAccessTime</td>
|
||||
<td id="LastAccessTime"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> RunningCount</td>
|
||||
<td id="RunningCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> ConcurrentMax</td>
|
||||
<td id="ConcurrentMax"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteCount</td>
|
||||
<td id="JdbcExecuteCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteErrorCount</td>
|
||||
<td id="JdbcExecuteErrorCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecutePeak</td>
|
||||
<td id="JdbcExecutePeak"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcExecuteTimeMillis</td>
|
||||
<td id="JdbcExecuteTimeMillis"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcCommitCount</td>
|
||||
<td id="JdbcCommitCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcRollbackCount</td>
|
||||
<td id="JdbcRollbackCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowCount</td>
|
||||
<td id="JdbcFetchRowCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcFetchRowPeak</td>
|
||||
<td id="JdbcFetchRowPeak"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdateCount</td>
|
||||
<td id="JdbcUpdateCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcUpdatePeak</td>
|
||||
<td id="JdbcUpdatePeak"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionOpenCount</td>
|
||||
<td id="JdbcPoolConnectionOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcPoolConnectionCloseCount</td>
|
||||
<td id="JdbcPoolConnectionCloseCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetOpenCount</td>
|
||||
<td id="JdbcResultSetOpenCount"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='td_lable'> JdbcResultSetCloseCount</td>
|
||||
<td id="JdbcResultSetCloseCount"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="container">
|
||||
<a class="btn btn-primary" href="javascript:window.close();">Close</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.weburi");
|
||||
druid.weburi = function () {
|
||||
var uri = druid.common.getUrlVar("uri");
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(3);
|
||||
this.ajaxRequestForBasicInfo();
|
||||
},
|
||||
|
||||
ajaxRequestForBasicInfo : function() {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'weburi-' + encodeURI(uri) + '.json',
|
||||
success: function(data) {
|
||||
if (data.Content == null)
|
||||
return;
|
||||
$("#URI").text(data.Content.URI)
|
||||
$("#RequestCount").text(data.Content.RequestCount)
|
||||
$("#RequestTimeMillis").text(data.Content.RequestTimeMillis)
|
||||
$("#LastAccessTime").text(data.Content.LastAccessTime)
|
||||
$("#RunningCount").text(data.Content.RunningCount)
|
||||
$("#ConcurrentMax").text(data.Content.ConcurrentMax)
|
||||
$("#JdbcExecuteCount").text(data.Content.JdbcExecuteCount)
|
||||
$("#JdbcExecuteErrorCount").text(data.Content.JdbcExecuteErrorCount)
|
||||
$("#JdbcExecutePeak").text(data.Content.JdbcExecutePeak)
|
||||
$("#JdbcExecuteTimeMillis").text(data.Content.JdbcExecuteTimeMillis)
|
||||
$("#JdbcCommitCount").text(data.Content.JdbcCommitCount)
|
||||
$("#JdbcRollbackCount").text(data.Content.JdbcRollbackCount)
|
||||
$("#JdbcFetchRowCount").text(data.Content.JdbcFetchRowCount)
|
||||
$("#JdbcFetchRowPeak").text(data.Content.JdbcFetchRowPeak)
|
||||
$("#JdbcUpdateCount").text(data.Content.JdbcUpdateCount)
|
||||
$("#JdbcUpdatePeak").text(data.Content.JdbcUpdatePeak)
|
||||
$("#JdbcPoolConnectionOpenCount").text(data.Content.JdbcPoolConnectionOpenCount)
|
||||
$("#JdbcPoolConnectionCloseCount").text(data.Content.JdbcPoolConnectionCloseCount)
|
||||
$("#JdbcResultSetOpenCount").text(data.Content.JdbcResultSetOpenCount)
|
||||
$("#JdbcResultSetCloseCount").text(data.Content.JdbcResultSetCloseCount)
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.weburi.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<link href="css/style.css" type="text/css" rel="stylesheet"/>
|
||||
<script type="text/javascript" src="js/jquery.min.js"></script>
|
||||
<script src="js/common.js" type="text/javascript" charset="utf8"></script>
|
||||
<script src="js/weburi.js" type="text/javascript" charset="utf8"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
@@ -17,7 +16,7 @@
|
||||
<h3>
|
||||
Web URI Stat
|
||||
</h3>
|
||||
<table class="table table-bordered table-striped responsive-utilities">
|
||||
<table id="dataTable" class="table table-bordered responsive-utilities">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="td_lable">N--</th>
|
||||
@@ -34,10 +33,62 @@
|
||||
<th class="td_lable" width="50"><a id="th-JdbcUpdateCount" href="javascript:void(0)" onclick="druid.common.setOrderBy('JdbcUpdateCount');">Jdbc Update</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$.namespace("druid.weburi");
|
||||
druid.weburi = function () {
|
||||
return {
|
||||
init : function() {
|
||||
druid.common.buildHead(3);
|
||||
druid.common.ajaxuri = 'weburi.json?';
|
||||
druid.common.handleAjaxResult = druid.weburi.handleAjaxResult;
|
||||
druid.common.setOrderBy("URI");
|
||||
druid.common.ajaxRequestForBasicInfo();
|
||||
setInterval("druid.common.ajaxRequestForBasicInfo();",5000);
|
||||
},
|
||||
|
||||
handleAjaxResult : function(data) {
|
||||
var statList = data.Content;
|
||||
if(statList == null) return;
|
||||
|
||||
var sqlStatTable = document.getElementById("dataTable");
|
||||
while (sqlStatTable.rows.length > 1) {
|
||||
sqlStatTable.deleteRow(1);
|
||||
}
|
||||
|
||||
var html = "";
|
||||
for ( var i = 0; i < statList.length; i++) {
|
||||
var stat = statList[i];
|
||||
var newRow = sqlStatTable.insertRow(-1);
|
||||
html += "<tr>";
|
||||
html += "<td>" + (i + 1) + "</td>";
|
||||
html += "<td>" + '<a target="_blank" href="weburi-detail.html?uri='+ encodeURI(stat.URI) + '">' + druid.common.subSqlString(stat.URI, 64) + '</a>' + "</td>";
|
||||
html += "<td>" + stat.RequestCount + "</td>";
|
||||
html += "<td>" + stat.RequestTimeMillis + "</td>";
|
||||
html += "<td>" + stat.RunningCount + "</td>";
|
||||
html += "<td>" + stat.ConcurrentMax + "</td>";
|
||||
html += "<td>" + stat.JdbcExecuteCount + "</td>";
|
||||
html += "<td>" + stat.JdbcExecuteTimeMillis + "</td>";
|
||||
html += "<td>" + stat.JdbcCommitCount + "</td>";
|
||||
html += "<td>" + stat.JdbcRollbackCount + "</td>";
|
||||
html += "<td>" + stat.JdbcFetchRowCount + "</td>";
|
||||
html += "<td>" + stat.JdbcUpdateCount + "</td>";
|
||||
html += "</tr>";
|
||||
}
|
||||
$("#dataTable tbody").html(html);
|
||||
druid.common.stripes();
|
||||
}
|
||||
}
|
||||
}();
|
||||
|
||||
$(document).ready(function() {
|
||||
druid.weburi.init();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user