diff options
Diffstat (limited to 'java/systests/src/main/java/org/apache/qpid/server/stats')
-rw-r--r-- | java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java | 89 |
1 files changed, 56 insertions, 33 deletions
diff --git a/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java b/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java index c38fcd9199..6d53896371 100644 --- a/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java +++ b/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java @@ -27,10 +27,13 @@ import org.apache.qpid.client.AMQQueue; import org.apache.qpid.client.AMQSession; import org.apache.qpid.exchange.ExchangeDefaults; import org.apache.qpid.framing.AMQShortString; +import org.apache.qpid.server.model.Broker; import org.apache.qpid.test.utils.QpidBrokerTestCase; +import org.apache.qpid.test.utils.TestBrokerConfiguration; import org.apache.qpid.util.LogMonitor; import java.util.List; +import java.util.Map; import javax.jms.Connection; import javax.jms.Destination; @@ -45,46 +48,55 @@ import javax.jms.TextMessage; */ public class StatisticsReportingTest extends QpidBrokerTestCase { + private static final String VHOST_NAME1 = "vhost1"; + private static final String VHOST_NAME2 = "vhost2"; + private static final String VHOST_NAME3 = "vhost3"; + private static long STATISTICS_REPORTING_PERIOD_IN_SECONDS = 10l; + protected LogMonitor _monitor; protected static final String USER = "admin"; - protected Connection _test, _dev, _local; + protected Connection _conToVhost1, _conToVhost2, _conToVhost3; protected String _queueName = "statistics"; protected Destination _queue; protected String _brokerUrl; + private long _startTestTime; @Override public void setUp() throws Exception { - setConfigurationProperty("statistics.generation.broker", "true"); - setConfigurationProperty("statistics.generation.virtualhosts", "true"); + createTestVirtualHost(0, VHOST_NAME1); + createTestVirtualHost(0, VHOST_NAME2); + createTestVirtualHost(0, VHOST_NAME3); if (getName().equals("testEnabledStatisticsReporting")) { - setConfigurationProperty("statistics.reporting.period", "10"); + TestBrokerConfiguration config = getBrokerConfiguration(); + config.removeObjectConfiguration(TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST); + config.setBrokerAttribute(Broker.STATISTICS_REPORTING_PERIOD, STATISTICS_REPORTING_PERIOD_IN_SECONDS); } _monitor = new LogMonitor(_outputFile); + _startTestTime = System.currentTimeMillis(); super.setUp(); _brokerUrl = getBroker().toString(); - _test = new AMQConnection(_brokerUrl, USER, USER, "clientid", "test"); - _dev = new AMQConnection(_brokerUrl, USER, USER, "clientid", "development"); - _local = new AMQConnection(_brokerUrl, USER, USER, "clientid", "localhost"); - - _test.start(); - _dev.start(); - _local.start(); + _conToVhost1 = new AMQConnection(_brokerUrl, USER, USER, "clientid", VHOST_NAME1); + _conToVhost2 = new AMQConnection(_brokerUrl, USER, USER, "clientid", VHOST_NAME2); + _conToVhost3 = new AMQConnection(_brokerUrl, USER, USER, "clientid", VHOST_NAME3); + _conToVhost1.start(); + _conToVhost2.start(); + _conToVhost3.start(); } @Override public void tearDown() throws Exception { - _test.close(); - _dev.close(); - _local.close(); + _conToVhost1.close(); + _conToVhost2.close(); + _conToVhost3.close(); super.tearDown(); } @@ -94,21 +106,30 @@ public class StatisticsReportingTest extends QpidBrokerTestCase */ public void testEnabledStatisticsReporting() throws Exception { - sendUsing(_test, 10, 100); - sendUsing(_dev, 20, 100); - sendUsing(_local, 15, 100); - - Thread.sleep(10 * 1000); // 15s - - List<String> brokerStatsData = _monitor.findMatches("BRK-1008"); - List<String> brokerStatsMessages = _monitor.findMatches("BRK-1009"); - List<String> vhostStatsData = _monitor.findMatches("VHT-1003"); - List<String> vhostStatsMessages = _monitor.findMatches("VHT-1004"); - - assertEquals("Incorrect number of broker data stats log messages", 2, brokerStatsData.size()); - assertEquals("Incorrect number of broker message stats log messages", 2, brokerStatsMessages.size()); - assertEquals("Incorrect number of virtualhost data stats log messages", 6, vhostStatsData.size()); - assertEquals("Incorrect number of virtualhost message stats log messages", 6, vhostStatsMessages.size()); + sendUsing(_conToVhost1, 10, 100); + sendUsing(_conToVhost2, 20, 100); + sendUsing(_conToVhost3, 15, 100); + + Thread.sleep(STATISTICS_REPORTING_PERIOD_IN_SECONDS * 1000); + + Map<String, List<String>> brokerStatsData = _monitor.findMatches("BRK-1008", "BRK-1009", "VHT-1003", "VHT-1004"); + long endTestTime = System.currentTimeMillis(); + + int maxNumberOfReports = (int)((endTestTime - _startTestTime)/STATISTICS_REPORTING_PERIOD_IN_SECONDS); + + int brk1008LinesNumber = brokerStatsData.get("BRK-1008").size(); + int brk1009LinesNumber = brokerStatsData.get("BRK-1009").size(); + int vht1003LinesNumber = brokerStatsData.get("VHT-1003").size(); + int vht1004LinesNumber = brokerStatsData.get("VHT-1004").size(); + + assertTrue("Incorrect number of broker data stats log messages:" + brk1008LinesNumber, 2 <= brk1008LinesNumber + && brk1008LinesNumber <= maxNumberOfReports * 2); + assertTrue("Incorrect number of broker message stats log messages:" + brk1009LinesNumber, 2 <= brk1009LinesNumber + && brk1009LinesNumber <= maxNumberOfReports * 2); + assertTrue("Incorrect number of virtualhost data stats log messages:" + vht1003LinesNumber, 6 <= vht1003LinesNumber + && vht1003LinesNumber <= maxNumberOfReports * 6); + assertTrue("Incorrect number of virtualhost message stats log messages: " + vht1004LinesNumber, 6 <= vht1004LinesNumber + && vht1004LinesNumber <= maxNumberOfReports * 6); } /** @@ -116,9 +137,9 @@ public class StatisticsReportingTest extends QpidBrokerTestCase */ public void testNotEnabledStatisticsReporting() throws Exception { - sendUsing(_test, 10, 100); - sendUsing(_dev, 20, 100); - sendUsing(_local, 15, 100); + sendUsing(_conToVhost1, 10, 100); + sendUsing(_conToVhost2, 20, 100); + sendUsing(_conToVhost3, 15, 100); Thread.sleep(10 * 1000); // 15s @@ -135,7 +156,7 @@ public class StatisticsReportingTest extends QpidBrokerTestCase private void sendUsing(Connection con, int number, int size) throws Exception { - Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); + Session session = con.createSession(true, Session.SESSION_TRANSACTED); createQueue(session); MessageProducer producer = session.createProducer(_queue); String content = new String(new byte[size]); @@ -144,6 +165,8 @@ public class StatisticsReportingTest extends QpidBrokerTestCase { producer.send(msg); } + session.commit(); + session.close(); } private void createQueue(Session session) throws AMQException, JMSException |