Generating Performance Data

Typically performance data is generated in one of three ways: manually, programmatically or through JUnit

Manually

To generate data manually, you would select the various performance actions at the appropriate places in your test case (the actions can also be selected with automated tools like abbot for SWT). This will capture performance data into a file for later processing.

Programmatically

Non-UI invocations of the workbench can also gather performance data. For this approach, plug-in owners take performance snapshots in various places in their code by inserting calls to the Performance Monitor. Whether or not any performance data is captured is controlled by an environment variable. This way the performance calls can be left in the production code and not incur any overhead.

JUnit

The nightly Eclipse build process invokes the Performance Monitor as part of the automated testing process. Performance data is captured for many of its JUnit test cases.

Eventually the data that is captured in the performance file is uploaded to a performance web application so that it can be saved and analyzed. The data can be viewed locally using the Performance Snapshots view by selecting the Performance > Show Snapshots menu choice, or directly in the timer.xml file, as the file contains human readable information as well. See Format of the Snapshot Logs for more details.

The data does not have to be uploaded after every run. Multiple runs are simply appended to the current performance measurement file.

Related topics

Monitoring Performance to Detect Regressions
Generating Data Manually
Generating Data Programmatically