[jboss-svn-commits] JBL Code SVN: r32626 - labs/jbosstm/workspace/whitingjr/trunk/performance.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Apr 23 13:59:14 EDT 2010


Author: whitingjr
Date: 2010-04-23 13:59:13 -0400 (Fri, 23 Apr 2010)
New Revision: 32626

Modified:
   labs/jbosstm/workspace/whitingjr/trunk/performance/.classpath
   labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties
   labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml
Log:
Updated build to store the configuration and results into directory structure.

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/.classpath
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/.classpath	2010-04-23 17:58:13 UTC (rev 32625)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/.classpath	2010-04-23 17:59:13 UTC (rev 32626)
@@ -8,8 +8,9 @@
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
 	<classpathentry kind="lib" path="lib/ejb3-persistence.jar"/>
 	<classpathentry kind="lib" path="lib/hibernate-tools.jar"/>
-	<classpathentry kind="lib" path="lib/jboss-ejb3-all.jar"/>
 	<classpathentry kind="lib" path="lib/thirdparty-all.jar"/>
 	<classpathentry kind="lib" path="lib/caveatemptor-jpa.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-ejb3-all.jar" sourcepath="/jboss-as-4.2.3-GA"/>
+	<classpathentry kind="var" path="JBOSS_3.7_HOME/server/default/lib/jboss-common-jdbc-wrapper.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties	2010-04-23 17:58:13 UTC (rev 32625)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/build.properties	2010-04-23 17:59:13 UTC (rev 32626)
@@ -5,20 +5,23 @@
 
 transaction.strategy=jta-managed
 resource.A.db.installation=co-located-db
-resource.A.db.vendor=mysql
-resource.A.jdbc-datasource=xa
+resource.A.db.vendor=postgresql
+resource.A.jdbc-datasource=local-tx
+
 resource.B.db.installation=co-located-db
-resource.B.db.vendor=mysql
-resource.B.jdbc-datasource=xa
-profiler=jip
+resource.B.db.vendor=postgresql
+resource.B.jdbc-datasource=local-tx
+profiler=none
+#profiler=jip
+#profiler=jprofiler
 
 # optional
 
 transaction.log.store=logs
 
-threads=1
+threads=40
 warmup-count=300
-profiled-count=5000
+profiled-count=7000
 
 # y or n
 profiled=n
@@ -27,9 +30,9 @@
 # y or n
 suspend=n
 
-#connection_handler_fqcn=org.jboss.jbossts.performance.task.pooling.PooledConnectionHandler
-connection_handler_fqcn=org.jboss.jbossts.performance.task.pooling.CachedConnection
-#connection_handler_fqcn=org.jboss.jbossts.performance.task.pooling.XACachedConnection
+# pooled|cached
+connection_handling=cached
+#connection_handling=pooled
 
 # optional write
 optional.write.enabled=true
@@ -37,3 +40,7 @@
 # test case
 #fqcn.test.case=org.jboss.jbossts.performance.resource.SynchronizeResourcesTest
 fqcn.test.case=org.jboss.jbossts.performance.jdbc.JDBCTest
+
+# object store
+action.store.fqcn=com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore
+#action.store.fqcn=com.arjuna.ats.internal.arjuna.objectstore.VolatileStore

Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml	2010-04-23 17:58:13 UTC (rev 32625)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/build.xml	2010-04-23 17:59:13 UTC (rev 32626)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<project name="JBoss TM performance comparison project" default="categorise" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+<project name="JBoss TM performance comparison project" default="copy-logs" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
 	<!--
 	This project executes the Hibernate sample application Caveat Emptor. There are two versions
 	and this project uses the version based on JPA. By running the sample test case and additional
@@ -51,10 +51,14 @@
     -->
 	<property name="build.classes.dir" value="build/classes" />
 	<property name="test.output.dir" value="target" />
+	<property name="log.output.dir" value="/home/whitingjr/tsperf/profiling" />
 
 	<property file="build.properties" />
 	<property name="required-args" value="-Dtransaction.strategy=value -Dresource.A.db.installation=value -Dresource.A.db.vendor=value -Dresource.A.jdbc-datasource=value -Dprofiler=value" />
 	<property name="optional-args" value="-Dtransaction.log.store=value -Dresource.B.db.installation=value -Dresource.B.db.vendor=value -Dresource.B.jdbc-datasource=value -Dthreads=value" />
+	
+	<property name="profile-file" value="profile.csv"/>
+	<property name="dstat-file" value="dstat.csv"/>
 
 	<property name="driver.home" value="lib/dbdrivers" />
 	<property name="properties.home" value="src/main/resources/properties" />
@@ -93,13 +97,14 @@
 		<pathelement path="lib/hibernate-annotations-3.4.0.GA.jar" />
 		<pathelement path="lib/hibernate-commons-annotations-3.1.0.GA.jar" />
 		<pathelement path="lib/hibernate-entitymanager-3.4.0.GA.jar" />
-		<pathelement path="lib/jbossjta-4.9.0.GA.jar" />
+		<pathelement path="lib/jbossjta-trunk.jar" />
 		<pathelement path="lib/slf4j-api-1.5.8.jar" />
 		<pathelement path="lib/slf4j-log4j12-1.5.8.jar" />
 		<pathelement path="lib/commons-dbutils-1.2.jar" />
 		<pathelement path="lib/commons-io-1.4.jar" />
 		<pathelement path="lib/commons-collections-3.2.1.jar" />
-		<pathelement path="lib/commons-lang-2.4.jar" />
+		<pathelement path="lib/commons-lang-2.5.jar" />
+		<pathelement path="lib/commons-exec-1.0.1.jar" />
 		<pathelement path="lib/thirdparty-all.jar" />
 		<path refid="database.driver" />
 		<path refid="profiler.library" />
@@ -220,7 +225,14 @@
 	</target>
 
 	<target name="second-resource" if="resource.B.db.vendor">
-		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/datasource.properties" />
+		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/connection-management/${connection_handling}.properties"/>
+		
+		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.B.jdbc-datasource}/datasource.properties">
+	   <filterchain>
+         <expandproperties />
+	   	<expandproperties />
+      </filterchain>
+	   </loadproperties>
 		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/db-profile.properties" />
 		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/db-profile.properties" />
 		<loadproperties srcfile="${properties.home}/database/${resource.B.db.vendor}/database-locations/${resource.B.db.installation}/resourceB/connection.properties">
@@ -237,12 +249,13 @@
 
 	<target name="prepare" depends="check-arguments, check-setup, second-resource">
 		<delete dir="build" />
+		<delete file="${profile-file}"  />
+		<delete file="${dstat-file}" />
 		<mkdir dir="build" />
 		<mkdir dir="build/classes" />
 		<mkdir dir="build/classes/META-INF" />
 
 		<!-- load properties, specific first then general -->
-		<loadproperties srcfile="${properties.home}/log-store/store-data.properties" />
 		<loadproperties srcfile="${properties.home}/jdbc-resource/${resource.A.jdbc-datasource}/datasource.properties" />
 		<loadproperties srcfile="${properties.home}/database/${resource.A.db.vendor}/db-profile.properties" />
 
@@ -287,7 +300,7 @@
 				<expandproperties />
 			</filterchain>
 		</copy>
-
+		
 		<xslt in="src/main/resources/META-INF/caveatemptor-beans.xml" out="build/classes/META-INF/caveatemptor-beans-property-ready.xml" style="src/main/resources/xsl/jdbc-datasource/prepare-jdbc-resolving-properties.xsl">
 			<outputproperty name="indent" value="yes" />
 			<param name="resource.A.jdbc" expression="${resource.A.jdbc-datasource}" />
@@ -350,10 +363,9 @@
 	<target name="profile" depends="compile">
 		<testng outputDir="${test.output.dir}">
 			<jvmarg value="${profiler.agent.argument}" />
-			<!-- property configuration allows agentlib, agentpath and javaagent support -->
 			<jvmarg value="${profiler.vm.arguments}" />
 			<jvmarg value="-Dcom.arjuna.ats.arjuna.common.propertiesFile=build/classes/arjunajta-properties.xml" />
-			
+			<jvmarg value="-Ddstat-file-name=${dstat-file}" />
 			<jvmarg value="-Xms256m" />
 			<jvmarg value="-Xmx1536m" />
 			<jvmarg value="-Xdebug" />
@@ -364,9 +376,61 @@
 			<xmlfileset file="build/classes/testsuite-integration.xml" />
 		</testng>
 	</target>
+	
+	<target name="copy-logs" depends="profile">
+		<tstamp>
+         <format property="time-stamp" pattern="kkmmss"  />
+      </tstamp>
+		<mkdir dir="${log.output.dir}/tx-type" />
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}" />
+		<condition property="installation-location" value="co-located">
+         <equals arg1="${resource.A.db.installation}" arg2="${resource.B.db.installation}" />
+      </condition>
+      <condition property="installation-location" value="remote">
+         <not>
+         	<equals arg1="${resource.A.db.installation}" arg2="${resource.B.db.installation}" />
+         </not>
+      </condition>
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}" />
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler" />
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}" />
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}" />
+		<condition property="vendor-count" value="single-vendor">
+         <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" />
+      </condition>
+      <condition property="vendor-count" value="multi-vendor">
+         <not>
+            <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" /> 
+         </not>
+      </condition>
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}" />
+		<condition property="db-vendor-mix" value="${resource.A.db.vendor}">
+         <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" />
+      </condition>
+      <condition property="db-vendor-mix" value="${resource.A.db.vendor}-${resource.B.db.vendor}">
+         <not>
+            <equals arg1="${resource.A.db.vendor}" arg2="${resource.B.db.vendor}" /> 
+         </not>
+      </condition>
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}" />
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count" />
+		<mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}" />
+		
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}" />
 
-	<target name="categorise" depends="profile" unless="ignore-categorise">
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" />
+      <mkdir dir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}/conf" />
 
+      <copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}/conf">
+         <fileset refid="configuration.path.1" />
+         <fileset refid="configuration.path.2" />
+      </copy>
+		<copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" file="${profile-file}"/>
+		<copy todir="${log.output.dir}/tx-type/${resource.A.jdbc-datasource}/installation/${installation-location}/profiler/${profiler}/${resource.A.db.installation}/${vendor-count}/${db-vendor-mix}/thread-count/${threads}/${DSTAMP}/${DSTAMP}-${time-stamp}" file="${dstat-file}"/>
+	</target>
+
+	<!--target name="categorise" depends="profile" unless="ignore-categorise">
+
 		<property name="xpaths-csv" value="${testcase.xpaths},${db-vendor.method.xpaths.A},${db-vendor.method.xpaths.B}" />
 		<tstamp />
 		<echo message="db vendor package[${db-vendor-package.xpath}]">
@@ -397,22 +461,8 @@
 			<param name="categoryD-method" expression="${categoryD.methods}" />
 			<param name="xpaths" expression="${xpaths-csv}" />
 		</xslt>
-		<!--
-		<copy file="src/main/resources/xsl/merge-thread-results.xsl" tofile="logs/${DSTAMP}/${DSTAMP}-${time-stamp}/merge-thread-results.xsl">
-			<filterchain>
-				<expandproperties />
-			</filterchain>
-		</copy>
-		-->
 		<copy file="src/main/resources/xsl/csv-parser.xsl" todir="logs/${DSTAMP}/${DSTAMP}-${time-stamp}"/>
-		<!--
-		<xslt style="logs/${DSTAMP}/${DSTAMP}-${time-stamp}/merge-thread-results.xsl" in="logs/${DSTAMP}/${DSTAMP}-${time-stamp}/${DSTAMP}-${time-stamp}-profile-analysis-01.xml" out="logs/${DSTAMP}/${DSTAMP}-${time-stamp}/${DSTAMP}-${time-stamp}-profile-analysis-02.xml" >
-		   <param name="category-0-methods" expression="${category0.methods}"/>
-			<param name="category-B-methods" expression="${categoryB.methods}"/>
-			<param name="category-C-methods" expression="${categoryC.methods}"/>
-		   <param name="category-D-methods" expression="${categoryD.methods}"/>
-		</xslt>
--->
+		
 		<copy file="src/main/resources/xsl/average-results.xsl" tofile="logs/${DSTAMP}/${DSTAMP}-${time-stamp}/average-results.xsl">
 			<filterchain>
 				<expandproperties />
@@ -431,20 +481,13 @@
 			<param name="db-vendor-package.A" expression="${db-vendor-package.xpath.A}" />
 			<param name="db-vendor-package.B" expression="${db-vendor-package.xpath.B}" />
 		</xslt>
-	</target>
+	</target-->
 
 	<target name="usage">
 		<echo>Usage: ant ${required-args} [${optional-args}]</echo>
 	</target>
 
-	<target name="transform">
-		<!-- -Ddate=xxxxxxxx -Dtime=xxxx -Dlogs-base-dir=/xxxx/xxxx -->
-		<xslt style="src/main/resources/xsl/convert-xml-to-csv.xsl" in="${logs-base-dir}/${date}-${time}/${date}-${time}-profile-analysis-04.xml" out="${logs-base-dir}/${date}-${time}/${date}-${time}-profile-analysis.csv">
-         <param name="db-vendor-package.A" expression="mysql" />
-         <param name="db-vendor-package.B" expression="mysql" />
-      </xslt>
-	</target>
-	<target name="transform-switch-package">
+	<!--target name="transform-switch-package">
 		<xslt style="src/main/resources/xsl/package-switch-compactor.xsl" in="logs/20100125-0919/20100125-0919-${resource.A.db.vendor}-${resource.B.db.vendor}-profile-raw.xml" out="logs/20100125-0919/20100125-0919-${resource.A.db.vendor}-${resource.B.db.vendor}-profile-compacted.xml">
 		</xslt>
 		<xslt style="src/main/resources/xsl/flatten-frames.xsl" in="logs/20100125-0919/20100125-0919-${resource.A.db.vendor}-${resource.B.db.vendor}-profile-compacted.xml" out="logs/20100125-0919/20100125-0919-${resource.A.db.vendor}-${resource.B.db.vendor}-profile-flattened.xml">
@@ -495,7 +538,7 @@
 
 		<copy file="logs/profiled/DATE-TIME-profile.xml" tofile="logs/${date}/${datetime}/${DSTAMP}-${TSTAMP}-${resource.A.db.vendor}-${resource.B.db.vendor}-profile-raw.xml" />
 
-	</target>
+	</target-->
 	
 	<!--
 	Use this task to concatenate the profiling data from several executions of the profiling system.



More information about the jboss-svn-commits mailing list