mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
JMX增强
git-svn-id: http://code.alibabatech.com/svn/druid/trunk@685 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
@@ -76,6 +76,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
private long destroyCount = 0L;
|
||||
private long removeAbandonedCount = 0L;
|
||||
private long notEmptyWaitCount = 0L;
|
||||
private long notEmptyWaitNanos = 0L;
|
||||
|
||||
// store
|
||||
private ConnectionHolder[] connections;
|
||||
@@ -104,6 +105,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
destroyCount = 0;
|
||||
removeAbandonedCount = 0;
|
||||
notEmptyWaitCount = 0;
|
||||
notEmptyWaitNanos = 0;
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
@@ -583,8 +585,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
}
|
||||
|
||||
try {
|
||||
long startEstimate = estimate;
|
||||
estimate = notEmpty.awaitNanos(estimate); // signal by recycle or creator
|
||||
notEmptyWaitCount++;
|
||||
notEmptyWaitNanos += (startEstimate - estimate);
|
||||
|
||||
if (!enable) {
|
||||
connectErrorCount++;
|
||||
@@ -946,6 +950,14 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
public long getNotEmptyWaitCount() {
|
||||
return notEmptyWaitCount;
|
||||
}
|
||||
|
||||
public long getNotEmptyWaitMillis() {
|
||||
return notEmptyWaitNanos / (1000 * 1000);
|
||||
}
|
||||
|
||||
public long getNotEmptyWaitNanos() {
|
||||
return notEmptyWaitNanos;
|
||||
}
|
||||
|
||||
public int getLockQueueLength() {
|
||||
return lock.getQueueLength();
|
||||
|
||||
Reference in New Issue
Block a user