| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.qpid</groupId> |
| <artifactId>qpid-broker-parent</artifactId> |
| <version>8.0.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>qpid-perftests</artifactId> |
| <name>Apache Qpid Broker-J Performance Tests</name> |
| <description>Performance testing configuration, code and tests</description> |
| |
| <properties> |
| <dependency-change-verification>true</dependency-change-verification> |
| |
| <!-- Properties filtered into the JNDI properties --> |
| <perftests.messaging-hostport-plain>localhost:5672</perftests.messaging-hostport-plain> |
| <perftests.messaging-hostport-tls>localhost:5672</perftests.messaging-hostport-tls> |
| <perftests.messaging-user>guest</perftests.messaging-user> |
| <perftests.messaging-password>guest</perftests.messaging-password> |
| <perftests.results-directory>results</perftests.results-directory> |
| |
| <!-- Properties used by the REST API Queue Creator --> |
| <perftests.manangement-user>guest</perftests.manangement-user> |
| <perftests.manangement-password>guest</perftests.manangement-password> |
| <perftests.broker-virtualhostnode>default</perftests.broker-virtualhostnode> |
| <perftests.broker-virtualhost>default</perftests.broker-virtualhost> |
| <perftests.manangement-url>http://localhost:8080</perftests.manangement-url> |
| |
| |
| <perftests.hillclimb>false</perftests.hillclimb> |
| <perftests.hillclimb.max_runs>3</perftests.hillclimb.max_runs> |
| <perftests.hillclimb.start_target_rate>1025.0</perftests.hillclimb.start_target_rate> |
| <perftests.hillclimb.production_to_target_ratio_success_threshold>0.95</perftests.hillclimb.production_to_target_ratio_success_threshold> |
| <perftests.hillclimb.consumption_to_production_ratio_success_threshold>0.95</perftests.hillclimb.consumption_to_production_ratio_success_threshold> |
| <perftests.hillclimb.minimum_delta>1.0</perftests.hillclimb.minimum_delta> |
| <perftests.hillclimb.bias>0.25</perftests.hillclimb.bias> |
| |
| <!-- The following provide values for the disttest command line --> |
| <perftests.test-config>${basedir}/etc/testdefs</perftests.test-config> |
| <perftests.test-config.write_to_db>false</perftests.test-config.write_to_db> |
| <perftests.distributed>false</perftests.distributed> |
| |
| <!-- Overrides for system properties understood by disttest itself --> |
| <qpid.disttest.loglevel>info</qpid.disttest.loglevel> |
| <qpid.disttest.duration>5000</qpid.disttest.duration> |
| <qpid.disttest.registrationTimeout>60000</qpid.disttest.registrationTimeout> |
| <qpid.disttest.commandResponseTimeout>120000</qpid.disttest.commandResponseTimeout> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| </dependency> |
| |
| <!-- test deps --> |
| <dependency> |
| <groupId>org.apache.qpid</groupId> |
| <artifactId>qpid-test-utils</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| <resource> |
| <directory>src/main/java</directory> |
| <excludes> |
| <exclude>**/*.java/</exclude> |
| </excludes> |
| </resource> |
| </resources> |
| |
| <testResources> |
| <testResource> |
| <directory>src/test/java</directory> |
| <excludes> |
| <exclude>**/*.java</exclude> |
| </excludes> |
| </testResource> |
| <testResource> |
| <directory>src/test/resources</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>**/*</include> |
| </includes> |
| </testResource> |
| </testResources> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <descriptors> |
| <descriptor>src/main/assembly/qpid-perftests-bin.xml</descriptor> |
| </descriptors> |
| </configuration> |
| <executions> |
| <execution> |
| <id>make-assembly</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>src/main/java/json2.js</exclude> |
| <exclude>src/test/java/org/apache/qpid/disttest/controller/config/sampleConfig.json</exclude> |
| <exclude>src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv</exclude> |
| <exclude>visualisation-jfc/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <configuration> |
| <delimiters> |
| <delimiter>${*}</delimiter> |
| </delimiters> |
| <useDefaultDelimiters>false</useDefaultDelimiters> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>addJms11IfNecessary</id> |
| <activation> |
| <property> |
| <name>perftests</name> |
| <value>!qpid-jms-client</value> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-jms_1.1_spec</artifactId> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>perftests</id> |
| <activation> |
| <property> |
| <name>perftests</name> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-property</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireProperty> |
| <property>perftests</property> |
| <regex>^(qpid-jms-client)|(jms-client-0-9)|(jms-client-0-10)$</regex> |
| </requireProperty> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>run-perftests</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>integration-test</phase> |
| <configuration> |
| <mainClass>org.apache.qpid.disttest.ControllerRunner</mainClass> |
| <classpathScope>runtime</classpathScope> |
| <arguments> |
| <argument>jndi-config=${java.naming.provider.url}</argument> |
| <argument>test-config=${perftests.test-config}</argument> |
| <argument>distributed=${perftests.distributed}</argument> |
| <argument>writeToDb=${perftests.test-config.write_to_db}</argument> |
| <argument>registrationTimeout=${qpid.disttest.registrationTimeout}</argument> |
| <argument>commandResponseTimeout=${qpid.disttest.commandResponseTimeout}</argument> |
| <argument>hill-climb=${perftests.hillclimb}</argument> |
| <argument>hill-climber.max-runs=${perftests.hillclimb.max_runs}</argument> |
| <argument>hill-climber.start-target-rate=${perftests.hillclimb.start_target_rate}</argument> |
| <argument>hill-climber.production-to-target-ratio-success-threshold=${perftests.hillclimb.production_to_target_ratio_success_threshold}</argument> |
| <argument>hill-climber.consumption-to-production-ratio-success-threshold=${perftests.hillclimb.consumption_to_production_ratio_success_threshold}</argument> |
| <argument>hill-climber.minimum-delta=${perftests.hillclimb.minimum_delta}</argument> |
| <argument>hill-climber.bias=${perftests.hillclimb.bias}</argument> |
| </arguments> |
| <systemProperties> |
| <systemProperty> |
| <key>qpid.disttest.loglevel</key> |
| <value>${qpid.disttest.loglevel}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>qpid.disttest.duration</key> |
| <value>${qpid.disttest.duration}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>java.naming.factory.initial</key> |
| <value>${java.naming.factory.initial}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>qpid.disttest.queue.creator.class</key> |
| <value>org.apache.qpid.disttest.jms.QpidRestAPIQueueCreator</value> |
| </systemProperty> |
| <systemProperty> |
| <key>perftests.manangement-user</key> |
| <value>${perftests.manangement-user}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>perftests.manangement-password</key> |
| <value>${perftests.manangement-password}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>perftests.broker-virtualhostnode</key> |
| <value>${perftests.broker-virtualhostnode}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>perftests.broker-virtualhost</key> |
| <value>${perftests.broker-virtualhost}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>perftests.manangement-url</key> |
| <value>${perftests.manangement-url}</value> |
| </systemProperty> |
| <!-- The following two are used by the legacy client only --> |
| <systemProperty> |
| <key>qpid.dest_syntax</key> |
| <value>${qpid.dest_syntax}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>qpid.amqp.version</key> |
| <value>${qpid.amqp.version}</value> |
| </systemProperty> |
| </systemProperties> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>qpid-jms-client</id> |
| <activation> |
| <property> |
| <name>perftests</name> |
| <value>qpid-jms-client</value> |
| </property> |
| </activation> |
| <properties> |
| <java.naming.factory.initial>org.apache.qpid.jms.jndi.JmsInitialContextFactory</java.naming.factory.initial> |
| <java.naming.provider.url>${project.build.directory}/test-classes/qpid-jms-client/jndi.properties</java.naming.provider.url> |
| <qpid.amqp.version /> |
| <qpid.dest_syntax /> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.qpid</groupId> |
| <artifactId>qpid-jms-client</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>jms-client-0-9</id> |
| <activation> |
| <property> |
| <name>perftests</name> |
| <value>jms-client-0-9</value> |
| </property> |
| </activation> |
| <properties> |
| <java.naming.factory.initial>org.apache.qpid.jndi.PropertiesFileInitialContextFactory</java.naming.factory.initial> |
| <java.naming.provider.url>${project.build.directory}/test-classes/jms-client/jndi.properties</java.naming.provider.url> |
| <qpid.amqp.version>0-9</qpid.amqp.version> |
| <qpid.dest_syntax>BURL</qpid.dest_syntax> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.qpid</groupId> |
| <artifactId>qpid-client</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>javax.xml.bind</groupId> |
| <artifactId>jaxb-api</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jaxb</groupId> |
| <artifactId>jaxb-runtime</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>jms-client-0-10</id> |
| <activation> |
| <property> |
| <name>perftests</name> |
| <value>jms-client-0-10</value> |
| </property> |
| </activation> |
| <properties> |
| <java.naming.factory.initial>org.apache.qpid.jndi.PropertiesFileInitialContextFactory</java.naming.factory.initial> |
| <java.naming.provider.url>${project.build.directory}/test-classes/jms-client/jndi.properties</java.naming.provider.url> |
| <qpid.amqp.version>0-10</qpid.amqp.version> |
| <qpid.dest_syntax>BURL</qpid.dest_syntax> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.qpid</groupId> |
| <artifactId>qpid-client</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>javax.xml.bind</groupId> |
| <artifactId>jaxb-api</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jaxb</groupId> |
| <artifactId>jaxb-runtime</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| </project> |