增强监控

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@341 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-07-01 03:45:08 +00:00
parent 663838a0c2
commit b0dd30e836
5 changed files with 80 additions and 82 deletions
@@ -895,13 +895,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
map.put("ConnectionCount_Alive_5_10_Minutes", stat.getConnectionCount_Alive_5_10_Minutes());
map.put("ConnectionCount_Alive_10_30_Minutes", stat.getConnectionCount_Alive_10_30_Minutes());
map.put("ConnectionCount_Alive_30_60_Minutes", stat.getConnectionCount_Alive_30_60_Minutes());
map.put("ConnectionCount_Alive_1_3_Hours", stat.getConnectionCount_Alive_1_3_Hours());
map.put("ConnectionCount_Alive_1_6_Hours", stat.getConnectionCount_Alive_1_6_Hours());
map.put("ConnectionCount_Alive_3_6_Hours", stat.getConnectionCount_Alive_3_6_Hours());
map.put("ConnectionCount_Alive_6_12_Hours", stat.getConnectionCount_Alive_6_12_Hours());
map.put("ConnectionCount_Alive_12_24_Hours", stat.getConnectionCount_Alive_12_24_Hours());
map.put("ConnectionCount_Alive_1_3_Day", stat.getConnectionCount_Alive_1_3_Day());
map.put("ConnectionCount_Alive_3_more_Day", stat.getConnectionCount_Alive_3_more_Day());
map.put("ConnectionCount_Alive_6_24_Hours", stat.getConnectionCount_Alive_6_24_Hours());
map.put("ConnectionCount_Alive_1_7_Day", stat.getConnectionCount_Alive_1_7_day());
map.put("ConnectionCount_Alive_7_30_Day", stat.getConnectionCount_Alive_7_30_Day());
map.put("ConnectionCount_Alive_30_90_Day", stat.getConnectionCount_Alive_30_90_Day());
map.put("ConnectionCount_Alive_90_more_Day", stat.getConnectionCount_Alive_90_more_Day());
} else {
map.put("ConnectionActiveCount", null);
map.put("ConnectionActiveCountMax", null);
@@ -966,13 +966,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
map.put("ConnectionCount_Alive_5_10_Minutes", null);
map.put("ConnectionCount_Alive_10_30_Minutes", null);
map.put("ConnectionCount_Alive_30_60_Minutes", null);
map.put("ConnectionCount_Alive_1_3_Hours", null);
map.put("ConnectionCount_Alive_1_6_Hours", null);
map.put("ConnectionCount_Alive_3_6_Hours", null);
map.put("ConnectionCount_Alive_6_12_Hours", null);
map.put("ConnectionCount_Alive_12_24_Hours", null);
map.put("ConnectionCount_Alive_1_3_Day", null);
map.put("ConnectionCount_Alive_3_more_Day", null);
map.put("ConnectionCount_Alive_6_24_Hours", null);
map.put("ConnectionCount_Alive_1_7_Day", null);
map.put("ConnectionCount_Alive_7_30_Day", null);
map.put("ConnectionCount_Alive_30_90_Day", null);
map.put("ConnectionCount_Alive_90_more_Day", null);
}
return new CompositeDataSupport(JdbcStatManager.getDataSourceCompositeType(), map);
@@ -301,13 +301,13 @@ public class DataSourceProxyImpl implements DataSourceProxy, DataSourceProxyImpl
map.put("ConnectionCount_Alive_5_10_Minutes", stat.getConnectionCount_Alive_5_10_Minutes());
map.put("ConnectionCount_Alive_10_30_Minutes", stat.getConnectionCount_Alive_10_30_Minutes());
map.put("ConnectionCount_Alive_30_60_Minutes", stat.getConnectionCount_Alive_30_60_Minutes());
map.put("ConnectionCount_Alive_1_3_Hours", stat.getConnectionCount_Alive_1_3_Hours());
map.put("ConnectionCount_Alive_1_6_Hours", stat.getConnectionCount_Alive_1_6_Hours());
map.put("ConnectionCount_Alive_3_6_Hours", stat.getConnectionCount_Alive_3_6_Hours());
map.put("ConnectionCount_Alive_6_12_Hours", stat.getConnectionCount_Alive_6_12_Hours());
map.put("ConnectionCount_Alive_12_24_Hours", stat.getConnectionCount_Alive_12_24_Hours());
map.put("ConnectionCount_Alive_1_3_Day", stat.getConnectionCount_Alive_1_3_Day());
map.put("ConnectionCount_Alive_3_more_Day", stat.getConnectionCount_Alive_3_more_Day());
map.put("ConnectionCount_Alive_6_24_Hours", stat.getConnectionCount_Alive_6_24_Hours());
map.put("ConnectionCount_Alive_1_7_Day", stat.getConnectionCount_Alive_1_7_day());
map.put("ConnectionCount_Alive_7_30_Day", stat.getConnectionCount_Alive_7_30_Day());
map.put("ConnectionCount_Alive_30_90_Day", stat.getConnectionCount_Alive_30_90_Day());
map.put("ConnectionCount_Alive_90_more_Day", stat.getConnectionCount_Alive_90_more_Day());
} else {
map.put("ConnectionActiveCount", null);
map.put("ConnectionActiveCountMax", null);
@@ -373,15 +373,13 @@ public class DataSourceProxyImpl implements DataSourceProxy, DataSourceProxyImpl
map.put("ConnectionCount_Alive_5_10_Minutes", null);
map.put("ConnectionCount_Alive_10_30_Minutes", null);
map.put("ConnectionCount_Alive_30_60_Minutes", null);
map.put("ConnectionCount_Alive_1_3_Hours", null);
map.put("ConnectionCount_Alive_3_6_Hours", null);
map.put("ConnectionCount_Alive_6_12_Hours", null);
map.put("ConnectionCount_Alive_12_24_Hours", null);
map.put("ConnectionCount_Alive_1_3_Day", null);
map.put("ConnectionCount_Alive_3_more_Day", null);
map.put("ConnectionCount_Alive_1_6_Hours", null);
map.put("ConnectionCount_Alive_6_24_Hours", null);
map.put("ConnectionCount_Alive_1_7_Day", null);
map.put("ConnectionCount_Alive_7_30_Day", null);
map.put("ConnectionCount_Alive_30_90_Day", null);
map.put("ConnectionCount_Alive_90_more_Day", null);
}
return new CompositeDataSupport(JdbcStatManager.getDataSourceCompositeType(), map);
@@ -73,13 +73,13 @@ public class JdbcConnectionStat implements JdbcConnectionStatMBean {
private final AtomicLong count_Alive_5_10_Minutes = new AtomicLong();
private final AtomicLong count_Alive_10_30_Minutes = new AtomicLong();
private final AtomicLong count_Alive_30_60_Minutes = new AtomicLong();
private final AtomicLong count_Alive_1_3_Hours = new AtomicLong();
private final AtomicLong count_Alive_1_6_Hours = new AtomicLong();
private final AtomicLong count_Alive_3_6_Hours = new AtomicLong();
private final AtomicLong count_Alive_6_12_Hours = new AtomicLong();
private final AtomicLong count_Alive_12_24_Hours = new AtomicLong();
private final AtomicLong count_Alive_1_3_Day = new AtomicLong();
private final AtomicLong count_Alive_3_more_Day = new AtomicLong();
private final AtomicLong count_Alive_6_24_Hours = new AtomicLong();
private final AtomicLong count_Alive_1_7_Day = new AtomicLong();
private final AtomicLong count_Alive_7_30_Day = new AtomicLong();
private final AtomicLong count_Alive_30_90_Day = new AtomicLong();
private final AtomicLong count_Alive_90_more_Day = new AtomicLong();
public void reset() {
connectingMax.set(0);
@@ -109,13 +109,13 @@ public class JdbcConnectionStat implements JdbcConnectionStatMBean {
count_Alive_5_10_Minutes.set(0);
count_Alive_10_30_Minutes.set(0);
count_Alive_30_60_Minutes.set(0);
count_Alive_1_3_Hours.set(0);
count_Alive_1_6_Hours.set(0);
count_Alive_3_6_Hours.set(0);
count_Alive_6_12_Hours.set(0);
count_Alive_12_24_Hours.set(0);
count_Alive_1_3_Day.set(0);
count_Alive_3_more_Day.set(0);
count_Alive_6_24_Hours.set(0);
count_Alive_1_7_Day.set(0);
count_Alive_7_30_Day.set(0);
count_Alive_30_90_Day.set(0);
count_Alive_90_more_Day.set(0);
}
public void beforeConnect() {
@@ -276,19 +276,19 @@ public class JdbcConnectionStat implements JdbcConnectionStatMBean {
count_Alive_10_30_Minutes.incrementAndGet();
} else if (aliveNano < 60 * MINUTE) {
count_Alive_30_60_Minutes.incrementAndGet();
} else if (aliveNano < 3 * HOUR) {
count_Alive_1_3_Hours.incrementAndGet();
} else if (aliveNano < 6 * HOUR) {
count_Alive_3_6_Hours.incrementAndGet();
} else if (aliveNano < 12 * HOUR) {
count_Alive_6_12_Hours.incrementAndGet();
count_Alive_1_6_Hours.incrementAndGet();
} else if (aliveNano < 24 * HOUR) {
count_Alive_12_24_Hours.incrementAndGet();
} else if (aliveNano < 3 * DAY) {
count_Alive_1_3_Day.incrementAndGet();
count_Alive_6_24_Hours.incrementAndGet();
} else if (aliveNano < 7 * DAY) {
count_Alive_1_7_Day.incrementAndGet();
} else if (aliveNano < 30 * DAY) {
count_Alive_7_30_Day.incrementAndGet();
} else if (aliveNano < 90 * DAY) {
count_Alive_30_90_Day.incrementAndGet();
} else {
count_Alive_3_more_Day.incrementAndGet();
count_Alive_90_more_Day.incrementAndGet();
}
}
@@ -490,8 +490,7 @@ public class JdbcConnectionStat implements JdbcConnectionStatMBean {
return new Date(lastErrorTime);
}
private static String[] indexNames = { "ID", "ConnectTime", "ConnectTimespan", "EstablishTime", "AliveTimespan", "LastSql", "LastError", "LastErrorTime",
"ConnectStatckTrace", "LastStatementStackTrace", "DataSource" };
private static String[] indexNames = { "ID", "ConnectTime", "ConnectTimespan", "EstablishTime", "AliveTimespan", "LastSql", "LastError", "LastErrorTime", "ConnectStatckTrace", "LastStatementStackTrace", "DataSource" };
private static String[] indexDescriptions = indexNames;
public static CompositeType getCompositeType() throws JMException {
@@ -586,27 +585,28 @@ public class JdbcConnectionStat implements JdbcConnectionStatMBean {
return count_Alive_30_60_Minutes.get();
}
public long getCount_Alive_1_3_Hours() {
return count_Alive_1_3_Hours.get();
public long getCount_Alive_1_6_Hours() {
return count_Alive_1_6_Hours.get();
}
public long getCount_Alive_3_6_Hours() {
return count_Alive_3_6_Hours.get();
public long getCount_Alive_6_24_Hours() {
return count_Alive_6_24_Hours.get();
}
public long getCount_Alive_6_12_Hours() {
return count_Alive_6_12_Hours.get();
public long getCount_Alive_1_7_Day() {
return count_Alive_1_7_Day.get();
}
public long getCount_Alive_12_24_Hours() {
return count_Alive_12_24_Hours.get();
public long getCount_Alive_7_30_Day() {
return count_Alive_7_30_Day.get();
}
public long getCount_Alive_1_3_Day() {
return count_Alive_1_3_Day.get();
public long getCount_Alive_30_90_Day() {
return count_Alive_30_90_Day.get();
}
public long getCount_Alive_3_more_Day() {
return count_Alive_3_more_Day.get();
public long getCount_Alive_90_more_Day() {
return count_Alive_90_more_Day.get();
}
}
@@ -320,13 +320,13 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean {
return count;
}
public long getConnectionCount_Alive_1_3_Hours() {
long count = this.getConnectionStat().getCount_Alive_1_3_Hours();
public long getConnectionCount_Alive_1_6_Hours() {
long count = this.getConnectionStat().getCount_Alive_1_6_Hours();
long nowNano = System.nanoTime();
for (JdbcConnectionStat.Entry connection : connections.values()) {
long connectionAliveNano = nowNano - connection.getEstablishNano();
if (connectionAliveNano >= 1 * HOUR && connectionAliveNano < 3 * HOUR) {
if (connectionAliveNano >= 1 * HOUR && connectionAliveNano < 6 * HOUR) {
count++;
}
}
@@ -334,13 +334,13 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean {
return count;
}
public long getConnectionCount_Alive_3_6_Hours() {
long count = this.getConnectionStat().getCount_Alive_3_6_Hours();
public long getConnectionCount_Alive_6_24_Hours() {
long count = this.getConnectionStat().getCount_Alive_6_24_Hours();
long nowNano = System.nanoTime();
for (JdbcConnectionStat.Entry connection : connections.values()) {
long connectionAliveNano = nowNano - connection.getEstablishNano();
if (connectionAliveNano >= 3 * HOUR && connectionAliveNano < 6 * HOUR) {
if (connectionAliveNano >= 6 * HOUR && connectionAliveNano < 24 * HOUR) {
count++;
}
}
@@ -348,13 +348,13 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean {
return count;
}
public long getConnectionCount_Alive_6_12_Hours() {
long count = this.getConnectionStat().getCount_Alive_6_12_Hours();
public long getConnectionCount_Alive_1_7_day() {
long count = this.getConnectionStat().getCount_Alive_1_7_Day();
long nowNano = System.nanoTime();
for (JdbcConnectionStat.Entry connection : connections.values()) {
long connectionAliveNano = nowNano - connection.getEstablishNano();
if (connectionAliveNano >= 6 * HOUR && connectionAliveNano < 12 * HOUR) {
if (connectionAliveNano >= 1 * DAY && connectionAliveNano < 7 * DAY) {
count++;
}
}
@@ -362,13 +362,13 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean {
return count;
}
public long getConnectionCount_Alive_12_24_Hours() {
long count = this.getConnectionStat().getCount_Alive_12_24_Hours();
public long getConnectionCount_Alive_7_30_Day() {
long count = this.getConnectionStat().getCount_Alive_7_30_Day();
long nowNano = System.nanoTime();
for (JdbcConnectionStat.Entry connection : connections.values()) {
long connectionAliveNano = nowNano - connection.getEstablishNano();
if (connectionAliveNano >= 12 * HOUR && connectionAliveNano < 24 * HOUR) {
if (connectionAliveNano >= 7 * DAY && connectionAliveNano < 30 * DAY) {
count++;
}
}
@@ -376,13 +376,13 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean {
return count;
}
public long getConnectionCount_Alive_1_3_Day() {
long count = this.getConnectionStat().getCount_Alive_1_3_Day();
public long getConnectionCount_Alive_30_90_Day() {
long count = this.getConnectionStat().getCount_Alive_30_90_Day();
long nowNano = System.nanoTime();
for (JdbcConnectionStat.Entry connection : connections.values()) {
long connectionAliveNano = nowNano - connection.getEstablishNano();
if (connectionAliveNano >= 1 * DAY && connectionAliveNano < 2 * DAY) {
if (connectionAliveNano >= 30 * DAY && connectionAliveNano < 90 * DAY) {
count++;
}
}
@@ -390,13 +390,13 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean {
return count;
}
public long getConnectionCount_Alive_3_more_Day() {
long count = this.getConnectionStat().getCount_Alive_3_more_Day();
public long getConnectionCount_Alive_90_more_Day() {
long count = this.getConnectionStat().getCount_Alive_90_more_Day();
long nowNano = System.nanoTime();
for (JdbcConnectionStat.Entry connection : connections.values()) {
long connectionAliveNano = nowNano - connection.getEstablishNano();
if (connectionAliveNano >= 2 * DAY) {
if (connectionAliveNano >= 90 * DAY) {
count++;
}
}
@@ -137,8 +137,8 @@ public class JdbcStatManager implements JdbcStatManagerMBean {
, "ConnectionConnectMillisMax", "ConnectionErrorLastTime", "ConnectionAliveMillisMax", "ConnectionAliveMillisMin" //
//
, "ConnectionCount_Alive_0_1_Seconds", "ConnectionCount_Alive_1_5_Seconds", "ConnectionCount_Alive_5_10_Seconds", "ConnectionCount_Alive_10_30_Seconds", "ConnectionCount_Alive_30_60_Seconds" //
, "ConnectionCount_Alive_1_5_Minutes", "ConnectionCount_Alive_5_10_Minutes", "ConnectionCount_Alive_10_30_Minutes", "ConnectionCount_Alive_30_60_Minutes", "ConnectionCount_Alive_1_3_Hours" //
, "ConnectionCount_Alive_3_6_Hours", "ConnectionCount_Alive_6_12_Hours", "ConnectionCount_Alive_12_24_Hours", "ConnectionCount_Alive_1_3_Day", "ConnectionCount_Alive_3_more_Day" //
, "ConnectionCount_Alive_1_5_Minutes", "ConnectionCount_Alive_5_10_Minutes", "ConnectionCount_Alive_10_30_Minutes", "ConnectionCount_Alive_30_60_Minutes", "ConnectionCount_Alive_1_6_Hours" //
, "ConnectionCount_Alive_6_24_Hours", "ConnectionCount_Alive_1_7_Day", "ConnectionCount_Alive_7_30_Day", "ConnectionCount_Alive_30_90_Day", "ConnectionCount_Alive_90_more_Day" //
//
};