[jboss-svn-commits] JBL Code SVN: r32085 - labs/jbosstm/workspace/whitingjr/trunk/performance.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 15 06:08:30 EDT 2010
Author: whitingjr
Date: 2010-03-15 06:08:29 -0400 (Mon, 15 Mar 2010)
New Revision: 32085
Modified:
labs/jbosstm/workspace/whitingjr/trunk/performance/INSTALL.txt
labs/jbosstm/workspace/whitingjr/trunk/performance/README.txt
Log:
Updated documentation to reflect updates to behaviour of the project.
Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/INSTALL.txt
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/INSTALL.txt 2010-03-15 06:50:45 UTC (rev 32084)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/INSTALL.txt 2010-03-15 10:08:29 UTC (rev 32085)
@@ -42,9 +42,6 @@
the package name of the driver library. It is recommended you use a generic name to
ensure complete coverage of the driver libraries. for example, the MySQL driver package
has two package domains com.mysql and org.gjt
- Multiple package names are supported using a comma to separate each. Do not add a
- period and asterisk at the end. It is not required for the profiler to recognize the
- package and it's contents recursively.
Select an appropriate class for controlling the database during setup. Some vendors
support sequences whereas others do not. If a class has not been provided then
@@ -55,13 +52,7 @@
database vendor type. The hibernate extension called SequenceStyleGenerator creates
identitiy for Entity classes.
- To control which methods have summary information generated edit the following property.
- ./build.properties - testcase.xpaths
- This property is a csv. Notice between the class and method is a ':' colon. Use this
- instead of a period.
-
- The profiler used to capture data is pluggable. The default installation is Java Interactive
- Profiler. This allows the widest user base to profile the project. To use a replacement
+ The profiler used to capture data is pluggable. To use a replacement
profiler create a directory here
./src/main/resources/properties/profiler/<profiler>
and here
Modified: labs/jbosstm/workspace/whitingjr/trunk/performance/README.txt
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/README.txt 2010-03-15 06:50:45 UTC (rev 32084)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/README.txt 2010-03-15 10:08:29 UTC (rev 32085)
@@ -2,37 +2,18 @@
Background
- This project integrates a profiling tool (JIP) with the sample Caveat Emptor application. The purpose
+ This project integrates profiling tools with the Hibernate sample Caveat Emptor application. The purpose
is quantifying the proportion of time necessary to use reliable state changes across multiple
resources versus unreliable state changes (failure intollerant) which can lead to inconsistent
data.
- The profiling tool out of the box is an open source project called Java Interactive Profiler (JIP).
- Using JIP allows the freedom for distributing this project and trying the profiling framework
- without proprietary software. The JIP profiler provides adequate functionality for capturing
- data interactively and storing it in XML format for later analysis.
-
- Using the TestNG framework provides the testing framework configuration. The testing
+ Using the TestNG framework provides the testing framework configuration. The testing
framework has been created with two iterations. The first is a warmup iteration to perform
class loading and JIT compilation. The second is the "steady state" iteration. It is the
second iteration which this is of interest and the focus of this project.
The framework uses multi-threading to run tests concurrently and concurrency classes to
co-ordinate the two iterations avoiding overlapping of asynchronous executions.
- Each run produces a comma separated variable file. Which contains the average values for several
- categories. Categories can be made up of particular methods. The main categories for this project
- are category-0 which is the whole test method, category-B which is the read and write with
- resource A, category-C is the read and write for resource B, category-D is the commit and category-A
- is 0-(B+C+D) which is called 'other'.
-
- The configuration of each category depends on the test case implementation. The recommended technique for
- creating a test case which can be easily profiled is as follows. The activity in the test
- case with a resource needs wrapping in separate methods. This allows easy separation of timing
- for the post-profiling analysis phase. Don't rely on profiling SessionImpl.flush for example
- because classes such as these have large numbers of methods. Which as a by product creates
- huge amounts of profiling data (and overhead) for capturing only one method which is of
- interest. Instead profile just the test case and create a separete method.
-
The output from the profiling system is a comma separated file. This file is formatted with
the first line as the header. This format is easy to paste into a spreadsheet and manipulate
into graphs. There is a template spreadsheet which is created to show the time taken and
@@ -42,9 +23,7 @@
Additional information.
- The project uses a combination of Ant, JIP and TestNG for executing test cases. To analyse
- the profiling data XSL style sheets are used for processing XML and generating useful
- summary information.
+ The project uses a combination of Ant and TestNG for executing test cases.
Some optimisations that change the behaviour of resources participating in transactions are
supported. Such as the Last Resource Commit Optimisation.
More information about the jboss-svn-commits
mailing list