From 7a953ec00a7c864fe5adf150ccb69fc326b49541 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 13 Jul 2017 02:04:11 +0800 Subject: [PATCH] improved WebURIStat & Proxy. --- .../alibaba/druid/proxy/jdbc/PreparedStatementProxyImpl.java | 5 ++++- .../java/com/alibaba/druid/support/http/stat/WebURIStat.java | 4 ++-- src/main/resources/support/http/resources/js/lang.js | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/alibaba/druid/proxy/jdbc/PreparedStatementProxyImpl.java b/src/main/java/com/alibaba/druid/proxy/jdbc/PreparedStatementProxyImpl.java index 419b7dfd89..ba14ccc403 100644 --- a/src/main/java/com/alibaba/druid/proxy/jdbc/PreparedStatementProxyImpl.java +++ b/src/main/java/com/alibaba/druid/proxy/jdbc/PreparedStatementProxyImpl.java @@ -108,7 +108,10 @@ public class PreparedStatementProxyImpl extends StatementProxyImpl implements Pr parametersSize = jdbcIndex; } if (parametersSize >= parameters.length) { - parameters = Arrays.copyOf(parameters, parametersSize + 16); + int oldCapacity = parameters.length; + int newCapacity = oldCapacity + (oldCapacity >> 1); + + parameters = Arrays.copyOf(parameters, newCapacity); } parameters[index] = parameter; diff --git a/src/main/java/com/alibaba/druid/support/http/stat/WebURIStat.java b/src/main/java/com/alibaba/druid/support/http/stat/WebURIStat.java index 654d188936..71ef71ea80 100644 --- a/src/main/java/com/alibaba/druid/support/http/stat/WebURIStat.java +++ b/src/main/java/com/alibaba/druid/support/http/stat/WebURIStat.java @@ -178,9 +178,9 @@ public class WebURIStat { requestTimeNanoUpdater.addAndGet(this, nanos); for (;;) { - long current = requestTimeNanoUpdater.get(this); + long current = requestTimeNanoMaxUpdater.get(this); if (current < nanos) { - if (requestTimeNanoUpdater.compareAndSet(this, current, nanos)) { + if (requestTimeNanoMaxUpdater.compareAndSet(this, current, nanos)) { // 可能不准确,但是绝大多数情况下都会正确,性能换取一致性 requestTimeNanoMaxOccurTime = System.currentTimeMillis(); diff --git a/src/main/resources/support/http/resources/js/lang.js b/src/main/resources/support/http/resources/js/lang.js index 5cfc31c32e..fc0abfd705 100644 --- a/src/main/resources/support/http/resources/js/lang.js +++ b/src/main/resources/support/http/resources/js/lang.js @@ -247,7 +247,9 @@ druid.lang = function() { /**weburi-detail*/ 'RefreshPeriod':['Refresh Period', '刷新时间'], 'SuspendRefresh':['Suspend Refresh', '暂停刷新'], - 'RequestTimeMillis':['RequestTimeMillis', '请求时间'], + 'RequestTimeMillis':['RequestTimeMillisTotal', '请求时间(和)'], + 'RequestTimeMillisMax':['RequestTimeMillisMax', '请求最慢(单次)'], + 'RequestTimeMillisMaxOccurTime':['RequestTimeMillisMaxOccurTime', '请求最慢发生时间'], 'JdbcExecutePeak':['JdbcExecutePeak', 'jdbc执行峰值'], 'JdbcFetchRowPeak':['JdbcFetchRowPeak', 'jdbc查询取回行数峰值'], 'JdbcUpdatePeak':['JdbcUpdatePeak', 'jdbc更新峰值'],