添加监控

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@904 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-09-25 02:44:10 +00:00
parent 90015e4e6f
commit 9c0b69d0c2
2 changed files with 31 additions and 2 deletions
@@ -81,8 +81,11 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
private long notEmptyWaitCount = 0L;
private long notEmptySignalCount = 0L;
private long notEmptyWaitNanos = 0L;
private int activePeak = 0;
private long activePeakTime = 0;
private int poolingPeak = 0;
private long poolingPeakTime = 0;
// store
private ConnectionHolder[] connections;
@@ -130,6 +133,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
notEmptyWaitNanos = 0;
activePeak = 0;
activePeakTime = 0;
poolingPeak = 0;
} finally {
lock.unlock();
}
@@ -418,6 +423,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
activeCount++;
if (activeCount > activePeak) {
activePeak = activeCount;
activePeakTime = System.currentTimeMillis();
}
poolalbeConnection = new PoolableConnection(holder);
@@ -709,11 +715,19 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
lock.unlock();
}
}
public int getPoolingPeak() {
return poolingPeak;
}
public Date getPoolingPeakTime() {
if (poolingPeakTime <= 0) {
return null;
}
return new Date(poolingPeakTime);
}
public long getRecycleCount() {
return recycleCount;
}
@@ -808,9 +822,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
lock.lock();
try {
connections[poolingCount++] = new ConnectionHolder(DruidDataSource.this, connection);
if (poolingCount > poolingPeak) {
poolingPeak = poolingCount;
poolingPeakTime = System.currentTimeMillis();
}
errorCount = 0; // reset errorCount
@@ -1058,6 +1073,14 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
return activePeak;
}
public Date getActivePeakTime() {
if (activePeakTime <= 0) {
return null;
}
return new Date(activePeakTime);
}
public String dump() {
lock.lock();
try {