To gather the data for performance analysis:
On each architecture of interest:
In $LPS_HOME/test/lfc/perf/build.xml edit these lines to indicate which browsers, branches, test suites, and runtimes you want to test: var suites = ["sprite", "functions", "viewperf", "imageperformance", "textperformance"]; var runtimes = ["swf8", "dhtml"]; // swf7 numbers are boring, almost identical to swf8 numbers
    var browsers = ["Firefox"];
    var webapps = ["trunk"];

Then invoke ant to drive the tests... leave your machine alone for around 10 minutes while it runs the test.
$ cd $LPS_HOME/test/lfc/pref
$ ant -Dbranch=trunk hitallbrowsers storelog

This will result in a lot of log data being stored in svn -- the latest one (which I just stored) is here:
http://svn.openlaszlo.org/QA/performance/raw/7656-openlaszlo-trunk.txt
Each of those lines represents the results from one test (executed several times) in each suite. That's the raw data.

......

The tool for analyzing the raw data is in $LZ_TOOLS_ROOT/performance/ cruncher. It is a java program. To compile it, see instructions in
http://svn.openlaszlo.org/tools/trunk/performance/README.txt

cd $LZ_TOOLS_ROOT/performance/cruncher
ant -Dbuild.id=7656-openlaszlo-trunk go

performance/cruncher/build.xml fetches the raw performance logs for the specified build from subversion, runs the java performance analysis tool on it, and mails the results to a few interested parties. "ant go" is all you need.

The cruncher analyzes whatever data is in the checked-in raw log; it expects to analyze data recorded by test/lfc/perf/reporter.lzx via test/lfc/perf/reporter.jsp. The reporting itself does not need to happen on the same machine as the analysis.

Standard usage is from within the laszlosystems firewall (so we can send mail) and as a logged-in svn user with commit access to the repository. Then just
$ ant go

To run analysis on a particular build, pass in
-Dbuild.id=thebuildid for example
$ ant -Dbuild.id=2469-openlaszlo-branches-legals go

To prevent any interaction with subversion at all, pass in
-Dno.svn=true for example
$ ant -Dno.svn go

If you've already got the data locally and you just want to analyze it, with no network communication, do this $ ant -v -Dno.svn=true -Dbuild.id=2469-openlaszlo-branches-legals analyze
$ more localanalysis/2469-openlaszlo-branches-legals-analysis.txt

Use the "clean" target to tidy up all local files. This is, of course, destructive.

Reply via email to