summaryrefslogtreecommitdiff
path: root/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java')
-rw-r--r--java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java89
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