You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/05/04 16:30:09 UTC
qpid-broker-j git commit: QPID-8181: [Broker-J] Add statistics for a
total number of connections established on AMQP port
Repository: qpid-broker-j
Updated Branches:
refs/heads/master 78f5671f2 -> e84273b05
QPID-8181: [Broker-J] Add statistics for a total number of connections established on AMQP port
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/e84273b0
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/e84273b0
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/e84273b0
Branch: refs/heads/master
Commit: e84273b056abc9a38ec635c52cacbd19d0b45a99
Parents: 78f5671
Author: Alex Rudyy <or...@apache.org>
Authored: Fri May 4 17:29:39 2018 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Fri May 4 17:29:56 2018 +0100
----------------------------------------------------------------------
.../apache/qpid/server/model/port/AmqpPort.java | 6 +++++-
.../qpid/server/model/port/AmqpPortImpl.java | 9 +++++++++
.../java/resources/js/qpid/management/Port.js | 3 ---
.../js/qpid/management/port/amqp/show.js | 19 ++++++++++++++++++-
.../src/main/java/resources/port/amqp/show.html | 3 +++
.../src/main/java/resources/showPort.html | 14 ++++----------
6 files changed, 39 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e84273b0/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java b/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
index 6474622..9145889 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
@@ -163,10 +163,14 @@ public interface AmqpPort<X extends AmqpPort<X>> extends Port<X>
@ManagedAttribute( defaultValue = "${" + PORT_MAX_OPEN_CONNECTIONS + "}" )
int getMaxOpenConnections();
- @ManagedStatistic(statisticType = StatisticType.POINT_IN_TIME, units = StatisticUnit.COUNT, label = "Connections",
+ @ManagedStatistic(statisticType = StatisticType.POINT_IN_TIME, units = StatisticUnit.COUNT, label = "Open Connections",
description = "Current number of connections made through this port")
int getConnectionCount();
+ @ManagedStatistic(statisticType = StatisticType.CUMULATIVE, units = StatisticUnit.COUNT, label = "Total Connections",
+ description = "Total number of connections made through this port")
+ long getTotalConnectionCount();
+
@DerivedAttribute(description = "Maximum time allowed for a new connection to send a protocol header."
+ " If the connection does not send a protocol header within this time,"
+ " the connection will be aborted.")
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e84273b0/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java b/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
index f2b1c26..4e4fc64 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
@@ -33,6 +33,7 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSessionContext;
@@ -92,6 +93,7 @@ public class AmqpPortImpl extends AbstractPort<AmqpPortImpl> implements AmqpPort
private final AtomicInteger _connectionCount = new AtomicInteger();
private final AtomicBoolean _connectionCountWarningGiven = new AtomicBoolean();
+ private final AtomicLong _totalConnectionCount = new AtomicLong();
private final Container<?> _container;
private final AtomicBoolean _closingOrDeleting = new AtomicBoolean();
@@ -531,6 +533,7 @@ public class AmqpPortImpl extends AbstractPort<AmqpPortImpl> implements AmqpPort
public int incrementConnectionCount()
{
int openConnections = _connectionCount.incrementAndGet();
+ _totalConnectionCount.incrementAndGet();
int maxOpenConnections = getMaxOpenConnections();
if(maxOpenConnections > 0
&& openConnections > (maxOpenConnections * _connectionWarnCount) / 100
@@ -595,6 +598,12 @@ public class AmqpPortImpl extends AbstractPort<AmqpPortImpl> implements AmqpPort
}
@Override
+ public long getTotalConnectionCount()
+ {
+ return _totalConnectionCount.get();
+ }
+
+ @Override
public long getProtocolHandshakeTimeout()
{
return _protocolHandshakeTimeout;
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e84273b0/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
index ed008f6..153c3f7 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
@@ -151,7 +151,6 @@ define(["dojo/dom",
"needClientAuthValue",
"wantClientAuthValue",
"trustStoresValue",
- "connectionCountValue",
"maxOpenConnectionsValue",
"authenticationProvider",
"bindingAddress",
@@ -200,8 +199,6 @@ define(["dojo/dom",
this.transportsValue.innerHTML = printArray("transports", this.portData);
this.bindingAddressValue.innerHTML =
this.portData["bindingAddress"] ? entities.encode(String(this.portData["bindingAddress"])) : "";
- this.connectionCountValue.innerHTML =
- this.portData["connectionCount"] ? entities.encode(String(this.portData["connectionCount"])) : "0";
this.maxOpenConnectionsValue.innerHTML =
(this.portData["maxOpenConnections"] && this.portData["maxOpenConnections"] >= 0) ? entities.encode(
String(this.portData["maxOpenConnections"])) : "(no limit)";
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e84273b0/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
index cba72eb..aae7439 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
@@ -25,7 +25,8 @@ define(["dojo/query",
"qpid/common/util",
"qpid/common/UpdatableStore",
"qpid/management/addVirtualHostAlias",
- "dojo/domReady!"], function (query, template, EnhancedGrid, registry, util, UpdatableStore, addVirtualHostAlias)
+ "qpid/common/StatisticsWidget",
+ "dojo/domReady!"], function (query, template, EnhancedGrid, registry, util, UpdatableStore, addVirtualHostAlias, StatisticsWidget)
{
function AmqpPort(params)
{
@@ -41,6 +42,7 @@ define(["dojo/query",
AmqpPort.prototype.postParse = function (params)
{
+ this.portStatisticsNode=query(".portStatistics", params.typeSpecificDetailsNode)[0]
var that = this;
var gridProperties = {
height: 400,
@@ -121,6 +123,21 @@ define(["dojo/query",
{
this.virtualHostAliasesGrid.update(restData.virtualhostaliases);
}
+
+ if (!this.portStatistics)
+ {
+ this.portStatistics = new StatisticsWidget({
+ category: "Port",
+ type: restData.type,
+ management: this.management,
+ defaultStatistics: ["connectionCount", "totalConnectionCount"]
+ });
+ this.portStatistics.placeAt(this.portStatisticsNode);
+ this.portStatistics.allStatsToggle.domNode.style.display = 'none';
+ this.portStatistics.startup();
+ }
+
+ this.portStatistics.update(restData.statistics);
};
return AmqpPort;
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e84273b0/broker-plugins/management-http/src/main/java/resources/port/amqp/show.html
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/port/amqp/show.html b/broker-plugins/management-http/src/main/java/resources/port/amqp/show.html
index c27982f..7897e82 100644
--- a/broker-plugins/management-http/src/main/java/resources/port/amqp/show.html
+++ b/broker-plugins/management-http/src/main/java/resources/port/amqp/show.html
@@ -19,6 +19,9 @@
-
-->
<div>
+ <br/>
+ <div class="portStatistics"></div>
+
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'VirtualHost Aliases'" class="clear virtualHostAliasesGridPanel">
<div class="virtualHostAliasesGrid hidden"></div>
<div class="clear">
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e84273b0/broker-plugins/management-http/src/main/java/resources/showPort.html
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/showPort.html b/broker-plugins/management-http/src/main/java/resources/showPort.html
index 3435733..883f3f9 100644
--- a/broker-plugins/management-http/src/main/java/resources/showPort.html
+++ b/broker-plugins/management-http/src/main/java/resources/showPort.html
@@ -32,15 +32,6 @@
<div class="formValue-valueCell typeValue"></div>
</div>
</div>
- <div class="alignRight">
- <div class="clear maxOpenConnections">
- <div class="formLabel-labelCell">Open connections (current/maximum):</div>
- <div class="formValue-valueCell">
- <span class="connectionCountValue"></span><span>/</span><span class="maxOpenConnectionsValue"></span>
- </div>
- </div>
- </div>
-
<div class="clear state">
<div class="formLabel-labelCell">State:</div>
<div class="formValue-valueCell stateValue"></div>
@@ -75,7 +66,10 @@
<div class="formLabel-labelCell">Transports:</div>
<div class="formValue-valueCell transportsValue multiLineValue"></div>
</div>
-
+ <div class="clear maxOpenConnections">
+ <div class="formLabel-labelCell">Maximum number of connections:</div>
+ <div class="formValue-valueCell maxOpenConnectionsValue"></div>
+ </div>
<div class="clear keyStore">
<div class="formLabel-labelCell">Key Store:</div>
<div class="formValue-valueCell keyStoreValue"></div>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org