enhance datasource monitor page

This commit is contained in:
wenshao
2012-08-03 09:59:25 +08:00
parent 7a78a6cf4f
commit e8ca1d1772
4 changed files with 31 additions and 1 deletions
@@ -993,6 +993,14 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
public ExceptionSorter getExceptionSorter() {
return exceptionSorter;
}
public String getExceptionSorterClassName() {
if (exceptionSorter == null) {
return null;
}
return exceptionSorter.getClass().getName();
}
public void setExceptionSorter(ExceptionSorter exceptionSoter) {
this.exceptionSorter = exceptionSoter;
@@ -154,4 +154,6 @@ public interface DruidAbstractDataSourceMBean {
int getDriverMajorVersion();
int getDriverMinorVersion();
String getExceptionSorterClassName();
}
@@ -385,9 +385,18 @@ public class StatViewServlet extends HttpServlet {
dataMap.put("InitialSize", dataSource.getInitialSize());
dataMap.put("MinIdle", dataSource.getMinIdle());
dataMap.put("MaxActive", dataSource.getMaxActive());
dataMap.put("QueryTimeout", dataSource.getQueryTimeout());
dataMap.put("ValidConnectionCheckerClassName", dataSource.getValidConnectionCheckerClassName());
dataMap.put("ExceptionSorterClassName", dataSource.getExceptionSorterClassName());
dataMap.put("TestOnBorrow", dataSource.isTestOnBorrow());
dataMap.put("TestOnReturn", dataSource.isTestOnReturn());
dataMap.put("TestWhileIdle", dataSource.isTestWhileIdle());
dataMap.put("DefaultAutoCommit", dataSource.isDefaultAutoCommit());
dataMap.put("DefaultReadOnly", dataSource.isDefaultAutoCommit());
dataMap.put("DefaultTransactionIsolation", dataSource.getDefaultTransactionIsolation());
dataMap.put("LogicConnectCount", dataSource.getConnectCount());
dataMap.put("LogicCloseCount", dataSource.getCloseCount());
@@ -404,7 +413,8 @@ public class StatViewServlet extends HttpServlet {
dataMap.put("StartTransactionCount", dataSource.getStartTransactionCount());
dataMap.put("TransactionHistogram", dataSource.getTransactionHistogramValues());
dataMap.put("ConnectionHoldTimeHistogram", dataSource.getDataSourceStat().getConnectionHoldHistogram().toArray());
dataMap.put("ConnectionHoldTimeHistogram",
dataSource.getDataSourceStat().getConnectionHoldHistogram().toArray());
dataMap.put("RemoveAbandoned", dataSource.isRemoveAbandoned());
return dataMap;
@@ -15,10 +15,15 @@ function fillDataSourceInfo(datasource) {
changeInnerHtml("DS-Info-TestOnBorrow" + datasource.Identity, datasource.TestOnBorrow);
changeInnerHtml("DS-Info-TestWhileIdle" + datasource.Identity, datasource.TestWhileIdle);
changeInnerHtml("DS-Info-TestOnReturn" + datasource.Identity, datasource.TestOnReturn);
changeInnerHtml("DS-Info-InitialSize" + datasource.Identity, datasource.InitialSize);
changeInnerHtml("DS-Info-MinIdle" + datasource.Identity, datasource.MinIdle);
changeInnerHtml("DS-Info-MaxActive" + datasource.Identity, datasource.MaxActive);
changeInnerHtml("DS-Info-QueryTimeout" + datasource.Identity, datasource.QueryTimeout);
changeInnerHtml("DS-Info-ValidConnectionCheckerClassName" + datasource.Identity, datasource.ValidConnectionCheckerClassName);
changeInnerHtml("DS-Info-ExceptionSorterClassName" + datasource.Identity, datasource.ExceptionSorterClassName);
changeInnerHtml("DS-Info-NotEmptyWaitCount" + datasource.Identity, datasource.NotEmptyWaitCount);
changeInnerHtml("DS-Info-NotEmptyWaitMillis" + datasource.Identity, datasource.NotEmptyWaitMillis);
@@ -69,11 +74,16 @@ function generateDataSourceDiv(datasource) {
listHtml += '<tr><td class="td_lable">* FilterClassNames</td><td id="DS-Info-FilterClassNames' + datasourceId + '">&nbsp;</td><td>All the fully qualifed name of the filter classes</td></tr>';
listHtml += '<tr><td class="td_lable">* TestOnBorrow</td><td id="DS-Info-TestOnBorrow' + datasourceId + '">&nbsp;</td><td>Test or not when borrow a connection</td></tr>';
listHtml += '<tr><td class="td_lable">* TestOnReturn</td><td id="DS-Info-TestOnReturn' + datasourceId + '">&nbsp;</td><td>Test or not when return a connection</td></tr>';
listHtml += '<tr><td class="td_lable">* TestWhileIdle</td><td id="DS-Info-TestWhileIdle' + datasourceId + '">&nbsp;</td><td>Test or not when a connection is idle for a while</td></tr>';
listHtml += '<tr><td class="td_lable">* InitialSize</td><td id="DS-Info-InitialSize' + datasourceId + '">&nbsp;</td><td>The size of datasource connections to create when initial a datasource</td></tr>';
listHtml += '<tr><td class="td_lable">* MinIdle</td><td id="DS-Info-MinIdle' + datasourceId + '">&nbsp;</td><td>The minimum number of connections a pool should hold. </td></tr>';
listHtml += '<tr><td class="td_lable">* MaxActive</td><td id="DS-Info-MaxActive' + datasourceId + '">&nbsp;</td><td>The maximum number of connections for a pool</td></tr>';
listHtml += '<tr><td class="td_lable">* QueryTimeout</td><td id="DS-Info-QueryTimeout' + datasourceId + '">&nbsp;</td><td> </td></tr>';
listHtml += '<tr><td class="td_lable">* ValidConnectionCheckerClassName</td><td id="DS-Info-ValidConnectionCheckerClassName' + datasourceId + '">&nbsp;</td><td> </td></tr>';
listHtml += '<tr><td class="td_lable">* ExceptionSorterClassName</td><td id="DS-Info-ExceptionSorterClassName' + datasourceId + '">&nbsp;</td><td> </td></tr>';
listHtml += '<tr><td class="td_lable">NotEmptyWaitCount</td><td id="DS-Info-NotEmptyWaitCount' + datasourceId + '">&nbsp;</td><td>Total times for wait to get a connection</td></tr>';
listHtml += '<tr><td class="td_lable">NotEmptyWaitMillis</td><td id="DS-Info-NotEmptyWaitMillis' + datasourceId + '">&nbsp;</td><td>Total millins for wait to get a connection</td></tr>';