mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
enhance datasource monitor page
This commit is contained in:
@@ -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 + '"> </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 + '"> </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 + '"> </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 + '"> </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 + '"> </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 + '"> </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 + '"> </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 + '"> </td><td> </td></tr>';
|
||||
listHtml += '<tr><td class="td_lable">* ValidConnectionCheckerClassName</td><td id="DS-Info-ValidConnectionCheckerClassName' + datasourceId + '"> </td><td> </td></tr>';
|
||||
listHtml += '<tr><td class="td_lable">* ExceptionSorterClassName</td><td id="DS-Info-ExceptionSorterClassName' + datasourceId + '"> </td><td> </td></tr>';
|
||||
|
||||
listHtml += '<tr><td class="td_lable">NotEmptyWaitCount</td><td id="DS-Info-NotEmptyWaitCount' + datasourceId + '"> </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 + '"> </td><td>Total millins for wait to get a connection</td></tr>';
|
||||
|
||||
Reference in New Issue
Block a user