Chapter 10. Running PerfExplorer Scripts

As of version 2.0, PerfExplorer has officially supported a scripting interface. The scripting interface is useful for adding automation to PerfExplorer. For example, a user can load a trial, perform data reduction, extract out key phases, derive metrics, and plot the result.

10.1. Analysis Components

There are many operations available, including:

  • BasicStatisticsOperation
  • CopyOperation
  • CorrelateEventsWithMetadata
  • CorrelationOperation
  • DeriveMetricOperation
  • DifferenceMetadataOperation
  • DifferenceOperation
  • DrawBoxChartGraph
  • DrawGraph
  • DrawMMMGraph
  • ExtractCallpathEventOperation
  • ExtractEventOperation
  • ExtractMetricOperation
  • ExtractNonCallpathEventOperation
  • ExtractPhasesOperation
  • ExtractRankOperation
  • KMeansOperation
  • LinearRegressionOperation
  • LogarithmicOperation
  • MergeTrialsOperation
  • MetadataClusterOperation
  • PCAOperation
  • RatioOperation
  • ScalabilityOperation
  • TopXEvents
  • TopXPercentEvents

The scripting interface is in Python, and scripts can be used to build analysis workflows. The Python scripts control the Java classes in the application through the Jython interpreter (http://www.jython.org/). There are two types of components which are useful in building analysis scripts. The first type is the PerformanceResult interface, and the second is the PerformanceAnalysisComponent interface. For documentation on how to use the Java classes, see the javadoc in the perfexplorer source distribution, and the example scripts below. To build the perfexplorer javadoc, type

 %>./make javadoc

in the perfexplorer source directory.