Package inca :: Module PerformanceReporter :: Class PerformanceReporter
[hide private]
[frames] | no frames]

Class PerformanceReporter

source code

Reporter.Reporter --+
                    |
                   PerformanceReporter

PerformanceReporter - Convenience module for performance-related reporters:

 from inca.PerformanceReporter import PerformanceReporter, PerformanceBenchmark
 performance = PerformanceReporter(
   name = 'My performance reporter',
   version = 1,
   description = 'Measures host performance',
   url = 'http://inca.sdsc.edu',
   measurement_name = 'host performance'
 )
 ...
 benchmark = PerformanceBenchmark()
 benchmark.addParameter('num_cpus', 16)
 benchmark.addStatistic('bandwidth', 10, 'Mb/s')
 performance.addBenchmark('sample', benchmark)
 reporter.printReport()

Module for writing performance related reporters. A performance reporter has one or more benchmarks. Each benchmark has one or more statistics (i.e., results) and can further be described with one or more parameters. For example:

 <performance> 
   <ID>some_id</ID>
   <benchmark>
     <ID>sample</ID>
     <parameters>
       <ID>parameters</ID>
       <parameter>
         <ID>num_cpus</ID>
         <value>16</value>
       </parameter>
     </parameters>
     <statistics>
       <ID>statistics</ID>
       <statistic>
         <ID>bandwidth</ID>
         <value>10</value>
         <units>Mb/s</units>
       </statistic>
     </statistics>
   </benchmark>
 </performance>

By default, the exit status of the reporter will be set to true (i.e., success).

Instance Methods [hide private]
 
__init__(self, **attrs)
Class constructor that returns a new PerformanceReporter object.
source code
 
addBenchmark(self, name, benchmark)
Add a benchmark to the reporter.
source code
 
addNewBenchmark(self, name)
A convenience that combines the allocation of a benchmark and its addition to the reporter.
source code
 
getMeasurementName(self)
Returns the name of the performance metric measured by the reporter.
source code
 
reportBody(self)
Constructs and returns the body of the reporter.
source code
 
setMeasurementName(self, name)
Sets the name of the performance metric measured by the reporter.
source code

Inherited from Reporter.Reporter: __del__, addArg, addDependency, argValue, argValues, compiledProgramOutput, compiledProgramStatusOutput, failPrintAndExit, getBody, getCompleted, getCwd, getDescription, getFailMessage, getName, getUrl, getVersion, log, loggedCommandOutput, loggedCommandStatusOutput, printReport, processArgv, report, setBody, setCompleted, setCwd, setDescription, setFailMessage, setName, setResult, setUrl, setVersion, tempFile, xmlElement

Method Details [hide private]

__init__(self, **attrs)
(Constructor)

source code 

Class constructor that returns a new PerformanceReporter object. The constructor supports the following parameter in addition to those supported by Reporter:

 measurement_name
   the name of the performance metric measured by the reporter;
   default ''.
Overrides: Reporter.Reporter.__init__

addBenchmark(self, name, benchmark)

source code 

Add a benchmark to the reporter. benchmark is an object of type PerformanceBenchmark. name identifies the benchmark.

reportBody(self)

source code 

Constructs and returns the body of the reporter.

Overrides: Reporter.Reporter.reportBody