From d755cb072a730c2b2613ebf46995614dc610ed13 Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 3 Feb 2017 22:09:01 +0800 Subject: [PATCH] improved monitor. --- .../alibaba/druid/pool/DruidDataSource.java | 28 ++++++++++++++- .../support/http/resources/datasource.html | 35 +++++++++++++++++++ .../support/http/resources/js/lang.js | 3 ++ 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index aa4e7f33c0..81ad6dc17a 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -118,7 +118,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat private long notEmptySignalCount = 0L; private long notEmptyWaitNanos = 0L; - private int keepAliveCheckCount = 0; + private int keepAliveCheckCount = 0; private int activePeak = 0; private long activePeakTime = 0; @@ -331,6 +331,24 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat this.setPoolPreparedStatements0(value); } } + { + Boolean value = getBoolean(properties, "druid.initVariants"); + if (value != null) { + this.setInitVariants(value); + } + } + { + Boolean value = getBoolean(properties, "druid.initGlobalVariants"); + if (value != null) { + this.setInitGlobalVariants(value); + } + } + { + Boolean value = getBoolean(properties, "druid.useUnfairLock"); + if (value != null) { + this.setUseUnfairLock(value); + } + } } public boolean isUseGlobalDataSourceStat() { @@ -2835,6 +2853,14 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat dataMap.put("MinEvictableIdleTimeMillis", this.getMinEvictableIdleTimeMillis()); dataMap.put("MaxEvictableIdleTimeMillis", this.getMaxEvictableIdleTimeMillis()); + dataMap.put("LogDifferentThread", isLogDifferentThread()); + dataMap.put("RecycleErrorCount", getRecycleErrorCount()); + dataMap.put("PreparedStatementOpenCount", getPreparedStatementCount()); + dataMap.put("PreparedStatementClosedCount", getClosedPreparedStatementCount()); + + dataMap.put("UseUnfairLock", isUseUnfairLock()); + dataMap.put("InitGlobalVariants", isInitGlobalVariants()); + dataMap.put("InitVariants", isInitVariants()); return dataMap; } diff --git a/src/main/resources/support/http/resources/datasource.html b/src/main/resources/support/http/resources/datasource.html index c04cd80715..4b1e369221 100644 --- a/src/main/resources/support/http/resources/datasource.html +++ b/src/main/resources/support/http/resources/datasource.html @@ -173,6 +173,26 @@ {{=datasourceNow.MaxWaitThreadCount}} + + * LogDifferentThread + {{=datasourceNow.LogDifferentThread}} + + + + * UseUnfairLock + {{=datasourceNow.UseUnfairLock}} + + + + * InitGlobalVariants + {{=datasourceNow.InitGlobalVariants}} + + + + * InitVariants + {{=datasourceNow.InitVariants}} + + NotEmptyWaitCount {{=datasourceNow.NotEmptyWaitCount}} @@ -243,6 +263,11 @@ {{=datasourceNow.LogicConnectErrorCount}} Total connect error times + + RecycleErrorCount + {{=datasourceNow.RecycleErrorCount}} + Total connect error times + PhysicalConnectCount {{=datasourceNow.PhysicalConnectCount}} @@ -278,6 +303,16 @@ {{=datasourceNow.RollbackCount}} + + PSOpenCount + {{=datasourceNow.PreparedStatementOpenCount}} + + + + PSClosedCount + {{=datasourceNow.PreparedStatementClosedCount}} + + PSCacheAccessCount {{=datasourceNow.PSCacheAccessCount}} diff --git a/src/main/resources/support/http/resources/js/lang.js b/src/main/resources/support/http/resources/js/lang.js index 72c145200f..5cfc31c32e 100644 --- a/src/main/resources/support/http/resources/js/lang.js +++ b/src/main/resources/support/http/resources/js/lang.js @@ -111,6 +111,7 @@ druid.lang = function() { 'LogicConnectCountDesc' : ['Total connect times from datasource', '产生的逻辑连接建立总数'], 'LogicCloseCountDesc' : ['Total close connect times from datasource', '产生的逻辑连接关闭总数'], 'LogicConnectErrorCountDesc' : ['Total connect error times', '产生的逻辑连接出错总数'], + 'RecycleErrorCount' : ['Logic Connection Recycle Count', '逻辑连接回收重用次数'], 'PhysicalConnectCountDesc' : ['Create physical connnection count', '产生的物理连接建立总数'], 'PhysicalCloseCountDesc' : ['Close physical connnection count', '产生的物理关闭总数'], 'PhysicalConnectErrorCountDesc' : ['Total physical connect error times', '产生的物理连接失败总数'], @@ -121,6 +122,8 @@ druid.lang = function() { 'PSCacheAccessCountDesc' : ['PerpareStatement access count', 'PSCache访问总数'], 'PSCacheHitCountDesc' : ['PerpareStatement hit count', 'PSCache命中次数'], 'PSCacheMissCountDesc' : ['PerpareStatement miss count', 'PSCache不命中次数'],// + 'PreparedStatementOpenCount' : ['Real PreparedStatement Open Count', '真实PreparedStatement打开次数'],// + 'PreparedStatementClosedCount' : ['Real PreparedStatement Closed Count', '真实PreparedStatement关闭次数'],// 'ConnectionHoldTimeHistogramDesc' : ['The histogram values of connection hold time, [0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]', '连接持有时间分布,分布区间为[0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]'], 'ClobOpenCountDesc' : ['', 'Clob打开数'], 'BlobOpenCountDesc' : ['', 'Blob打开数'],