You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2012/08/13 19:08:29 UTC
svn commit: r1372517 - in /activemq/activemq-apollo/trunk:
apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/
apollo-dto/src/main/java/org/apache/activemq/apollo/dto/
apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/ apol...
Author: chirino
Date: Mon Aug 13 17:08:29 2012
New Revision: 1372517
URL: http://svn.apache.org/viewvc?rev=1372517&view=rev
Log:
Implements APLO-239: Aggregate connection-level messages (and bytes) metrics at connector and broker level
Modified:
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java
activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorStatusDTO.java
activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/BrokerResource.scala
activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade
activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/ConnectorStatusDTO.jade
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala?rev=1372517&r1=1372516&r2=1372517&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala Mon Aug 13 17:08:29 2012
@@ -122,6 +122,11 @@ class AcceptingConnector(val broker:Brok
def socket_address = Option(transport_server).map(_.getSocketAddress).getOrElse(null)
+ var dead_messages_sent:Long = 0
+ var dead_messages_received:Long = 0
+ var dead_read_counter:Long = 0
+ var dead_write_counter:Long = 0
+
def status = {
val result = new ConnectorStatusDTO
result.id = id.toString
@@ -132,8 +137,20 @@ class AcceptingConnector(val broker:Brok
result.protocol = Option(config.protocol).getOrElse("any")
result.local_address = Option(socket_address).map(_.toString).getOrElse("any")
+ result.messages_sent = dead_messages_sent
+ result.messages_received = dead_messages_received
+ result.read_counter = dead_read_counter
+ result.write_counter = dead_write_counter
+
for( (id, connection) <- broker.connections if connection.connector eq this ) {
result.connections.add( new LongIdLabeledDTO(id, connection.transport.getRemoteAddress.toString ) )
+ val status = connection.get_connection_status
+ if( status!=null ) {
+ result.messages_sent += status.messages_sent
+ result.messages_received += status.messages_received
+ result.read_counter += status.read_counter
+ result.write_counter += status.write_counter
+ }
}
result
}
@@ -292,6 +309,13 @@ class AcceptingConnector(val broker:Brok
val at_limit = at_connection_limit
if( broker.connections.remove(connection.id).isDefined ) {
connected.decrementAndGet()
+ val status = connection.get_connection_status
+ if( status!=null ) {
+ dead_messages_sent += status.messages_sent
+ dead_messages_received += status.messages_received
+ dead_read_counter += status.read_counter
+ dead_write_counter += status.write_counter
+ }
if( at_limit ) {
transport_server.resume
}
Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java?rev=1372517&r1=1372516&r2=1372517&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java (original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java Mon Aug 13 17:08:29 2012
@@ -80,4 +80,33 @@ public class BrokerStatusDTO extends Ser
*/
@XmlElement(name="connection")
public List<LongIdLabeledDTO> connections = new ArrayList<LongIdLabeledDTO>();
+
+ /**
+ * The number of messages that have been sent to connections created
+ * by this broker.
+ */
+ @XmlAttribute(name="messages_sent")
+ public long messages_sent;
+
+ /**
+ * The number of messages that have been received from connections created
+ * by this broker.
+ */
+ @XmlAttribute(name="messages_received")
+ public long messages_received;
+
+ /**
+ * The number of bytes that have been read from the connections created by this
+ * broker.
+ */
+ @XmlAttribute(name="read_counter")
+ public long read_counter;
+
+ /**
+ * The number of bytes that have been written to the connections created by this
+ * broker.
+ */
+ @XmlAttribute(name="write_counter")
+ public long write_counter;
+
}
Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorStatusDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorStatusDTO.java?rev=1372517&r1=1372516&r2=1372517&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorStatusDTO.java (original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorStatusDTO.java Mon Aug 13 17:08:29 2012
@@ -62,4 +62,32 @@ public class ConnectorStatusDTO extends
@XmlElement(name="connection")
public List<LongIdLabeledDTO> connections = new ArrayList<LongIdLabeledDTO>();
+ /**
+ * The number of messages that have been sent to connections created
+ * by this connector.
+ */
+ @XmlAttribute(name="messages_sent")
+ public long messages_sent;
+
+ /**
+ * The number of messages that have been received from connections created
+ * by this connector.
+ */
+ @XmlAttribute(name="messages_received")
+ public long messages_received;
+
+ /**
+ * The number of bytes that have been read from the connections created by this
+ * connector.
+ */
+ @XmlAttribute(name="read_counter")
+ public long read_counter;
+
+ /**
+ * The number of bytes that have been written to the connections created by this
+ * connector.
+ */
+ @XmlAttribute(name="write_counter")
+ public long write_counter;
+
}
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/BrokerResource.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/BrokerResource.scala?rev=1372517&r1=1372516&r2=1372517&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/BrokerResource.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/BrokerResource.scala Mon Aug 13 17:08:29 2012
@@ -121,8 +121,17 @@ class BrokerResource() extends Resource
broker.virtual_hosts.values.foreach{ host=>
result.virtual_hosts.add( host.id )
}
+
broker.connectors.values.foreach{ c=>
result.connectors.add( c.id )
+ val status = c.status
+ status match {
+ case status:ConnectorStatusDTO =>
+ result.messages_sent += status.messages_sent
+ result.messages_received += status.messages_received
+ result.read_counter += status.read_counter
+ result.write_counter += status.write_counter
+ }
}
// only include the connection list if it was requested.
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade?rev=1372517&r1=1372516&r2=1372517&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade Mon Aug 13 17:08:29 2012
@@ -41,6 +41,10 @@ ul
h2 Connections
p total connections since startup : #{connection_counter}
p currently connected : #{connected}
+p messages received from connections: #{messages_received}
+p messages sent to connections: #{messages_sent}
+p bytes read from connections: #{memory(read_counter)}
+p bytes written to connections: #{memory(write_counter)}
p
- if( connections==null )
a(href={ "broker.html?connections=true" }) Show Connections
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/ConnectorStatusDTO.jade
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/ConnectorStatusDTO.jade?rev=1372517&r1=1372516&r2=1372517&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/ConnectorStatusDTO.jade (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/ConnectorStatusDTO.jade Mon Aug 13 17:08:29 2012
@@ -36,6 +36,11 @@ p protocol: #{protocol}
h2 Connections
p total connections since startup : #{connection_counter}
p currently connected : #{connected}
+p messages received from connections: #{messages_received}
+p messages sent to connections: #{messages_sent}
+p bytes read from connections: #{memory(read_counter)}
+p bytes written to connections: #{memory(write_counter)}
+
p
- if( connections==null )
a(href={ id+".html?connections=true" }) Show Connections