mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
增强监控
git-svn-id: http://code.alibabatech.com/svn/druid/trunk@341 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
@@ -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" //
|
||||
//
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user