PerfExplorer 2.0

edu.uoregon.tau.perfexplorer.glue
Interface PerformanceResult

All Known Implementing Classes:
AbstractResult, ClusterOutputResult, CorrelationResult, DataSourceResult, DefaultResult, MaxResult, MeanResult, MinResult, ScalabilityResult, StDevResult, TotalResult, TrialMeanResult, TrialResult, TrialThreadMetadata, TrialTotalResult, VarianceResult

public interface PerformanceResult

This interface is defined as the methods all performance results should support. All operations should be refered to through this interface, whenever possible.

CVS $Id: PerformanceResult.java,v 1.12 2009/11/27 16:51:05 khuck Exp $

Since:
2.0
Version:
2.0
Author:
Kevin Huck

Method Summary
 double getCalls(Integer thread, String event)
          This method will return the number of times that the specified event was called on the specified thread of execution.
 double getDataPoint(Integer thread, String event, String metric, int type)
          This method will return the value stored in the trial for the specified thread, event, metric, type combination.
 DataSource getDataSource()
          This method returns the DataSource to which the performance data is related.
 Map<Integer,String> getEventMap()
          Get a Map of events in this result.
 Set<String> getEvents()
          This method will return a Set of Strings, which represent the names of the events in the trial.
 double getExclusive(Integer thread, String event, String metric)
          This method will return the exclusive value stored in the trial for the selected thread, event, metric combination.
 String getFPMetric()
          This method returns the metric name which represents floating point operations.
 double getInclusive(Integer thread, String event, String metric)
          This method will return the inclusive value stored in the trial for the selected thread, event, metric combination.
 String getL1AccessMetric()
          This method returns the metric name which represents L1 cache accesses.
 String getL1MissMetric()
          This method returns the metric name which represents the L1 cache misses.
 String getL2AccessMetric()
          This method returns the metric name which represents L2 cache accesses.
 String getL2MissMetric()
          This method returns the metric name which represents the L2 cache misses.
 String getL3AccessMetric()
          This method returns the metric name which represents L3 cache accesses.
 String getL3MissMetric()
          This method returns the metric name which represents the L3 cache misses.
 String getMainEvent()
          This method will return the name of the event which has the highest inclusive time value in the trial.
 Set<String> getMetrics()
          This method will return a Set of Strings, which represent the names of the metrics in the trial.
 String getName()
          Get the name for this input.
 Integer getOriginalThreads()
          This method will return the number of threads in the trial from which this data was derived.
 Map<String,Double> getSortedByValue(String metric, int type, boolean ascending)
          This method will return a Map of values, sorted by the values.
 double getSubroutines(Integer thread, String event)
          This method will return the number of subroutines that the specified event had on the specified thread of execution.
 Set<Integer> getThreads()
          This method will return a Set of Integers, which represent the identifiers of the threads of execution in the trial.
 String getTimeMetric()
          This method will return the metric which represents the time metric in the trial.
 String getTLBMissMetric()
          This method returns the metric name which represents the TLB misses.
 String getTotalInstructionMetric()
          This method returns the metric name which represents the total number of instructions.
 Trial getTrial()
          This method returns the Trial to which the performance data is related.
 Integer getTrialID()
          This method returns the ID of the Trial to which the performance data is related.
 double getUsereventMax(Integer thread, String event)
          This method will return the maximum value for the specified user event which was observed on the specified thread of execution.
 double getUsereventMean(Integer thread, String event)
          This method will return the mean value for the specified user event which was observed on the specified thread of execution.
 double getUsereventMin(Integer thread, String event)
          This method will return the minimum value for the specified user event which was observed on the specified thread of execution.
 double getUsereventNumevents(Integer thread, String event)
          This method will return the number of times that a specified user event happened on the specified thread of execution.
 Set<String> getUserEvents()
          This method will return a Set of Strings, which represent the names of the userevents in the trial.
 Set<String> getUserEvents(Integer thread)
          This method will return a Set of Strings, which represent the names of the userevents for the specified thread in the trial.
 double getUsereventSumsqr(Integer thread, String event)
          This method will return the sum of squared values for the specified user event which was observed on the specified thread of execution.
 void putCalls(Integer thread, String event, double value)
          This method will save the specified value as the number of calls for the specified event on the specified thread of execution.
 void putDataPoint(Integer thread, String event, String metric, int type, double value)
          This method will store the specified value in the trial for the specified thread, event, metric, type combination.
 void putExclusive(Integer thread, String event, String metric, double value)
          This method will save the specified value as the exclusive value for the specified thread, event, metric combination.
 void putInclusive(Integer thread, String event, String metric, double value)
          This method will save the specified value as the inclusive value for the specified thread, event, metric combination.
 void putSubroutines(Integer thread, String event, double value)
          This method will save the specified value as the number of subroutines for the specified event on the specified thread of execution.
 void putUsereventMax(Integer thread, String event, double value)
          This method will save the maximum value for a specified user event which was observed on the specified thread of execution.
 void putUsereventMean(Integer thread, String event, double value)
          This method will save the mean value for a specified user event which was observed on the specified thread of execution.
 void putUsereventMin(Integer thread, String event, double value)
          This method will save the minimum value for a specified user event which was observed on the specified thread of execution.
 void putUsereventNumevents(Integer thread, String event, double value)
          This method will save the number of times that a specified user event happened on the specified thread of execution.
 void putUsereventSumsqr(Integer thread, String event, double value)
          This method will save the sum of squared values for the specified user event which was observed on the specified thread of execution.
 void setEventMap(Map<Integer,String> eventMap)
          Set the Map of events in this result.
 void setIgnoreWarnings(boolean ignore)
          When values are requested from the trial, ignore warnings if the values are null
 void setName(String name)
          Set the name for this input.
 String toString()
          This method will return a string representation of this PerformanceResult.
 void updateEventMap()
          update the event map - remove what's missing, essentially
 

Method Detail

getCalls

double getCalls(Integer thread,
                String event)
This method will return the number of times that the specified event was called on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the number of calls

getDataPoint

double getDataPoint(Integer thread,
                    String event,
                    String metric,
                    int type)
This method will return the value stored in the trial for the specified thread, event, metric, type combination.

Parameters:
thread - The thread of interest
event - The event of interest
metric - The metric of interest
type - The type of data to return
Returns:
the value The value of that type measured on that thread, event, metric combination
See Also:
getExclusive(java.lang.Integer, java.lang.String, java.lang.String), getInclusive(java.lang.Integer, java.lang.String, java.lang.String), getCalls(java.lang.Integer, java.lang.String), getSubroutines(java.lang.Integer, java.lang.String), AbstractResult.INCLUSIVE, AbstractResult.EXCLUSIVE, AbstractResult.CALLS, AbstractResult.SUBROUTINES, AbstractResult.USEREVENT_NUMEVENTS, AbstractResult.USEREVENT_MAX, AbstractResult.USEREVENT_MIN, AbstractResult.USEREVENT_MEAN, AbstractResult.USEREVENT_SUMSQR

getDataSource

DataSource getDataSource()
This method returns the DataSource to which the performance data is related.

Returns:
the DataSource

getEventMap

Map<Integer,String> getEventMap()
Get a Map of events in this result.

Returns:
the eventMap
See Also:
Map

getEvents

Set<String> getEvents()
This method will return a Set of Strings, which represent the names of the events in the trial.

Returns:
the set of event names

getExclusive

double getExclusive(Integer thread,
                    String event,
                    String metric)
This method will return the exclusive value stored in the trial for the selected thread, event, metric combination.

Parameters:
thread - The thread of interest
event - The event of interest
metric - The metric of interest
Returns:
the exclusive value

getFPMetric

String getFPMetric()
This method returns the metric name which represents floating point operations.

Returns:
the metric name

getInclusive

double getInclusive(Integer thread,
                    String event,
                    String metric)
This method will return the inclusive value stored in the trial for the selected thread, event, metric combination.

Parameters:
thread - The thread of interest
event - The event of interest
metric - The metric of interest
Returns:
the inclusive value

getL1AccessMetric

String getL1AccessMetric()
This method returns the metric name which represents L1 cache accesses.

Returns:
the metric name

getL1MissMetric

String getL1MissMetric()
This method returns the metric name which represents the L1 cache misses.

Returns:
the metric name

getL2AccessMetric

String getL2AccessMetric()
This method returns the metric name which represents L2 cache accesses.

Returns:
the metric name

getL2MissMetric

String getL2MissMetric()
This method returns the metric name which represents the L2 cache misses.

Returns:
the metric name

getL3AccessMetric

String getL3AccessMetric()
This method returns the metric name which represents L3 cache accesses.

Returns:
the metric name

getL3MissMetric

String getL3MissMetric()
This method returns the metric name which represents the L3 cache misses.

Returns:
the metric name

getMainEvent

String getMainEvent()
This method will return the name of the event which has the highest inclusive time value in the trial.

Returns:
the name of the main event

getMetrics

Set<String> getMetrics()
This method will return a Set of Strings, which represent the names of the metrics in the trial.

Returns:
the set of metric names

getName

String getName()
Get the name for this input.

Returns:
the name of this performance result

getOriginalThreads

Integer getOriginalThreads()
This method will return the number of threads in the trial from which this data was derived.

Returns:
the number of threads in the original trial

getSortedByValue

Map<String,Double> getSortedByValue(String metric,
                                    int type,
                                    boolean ascending)
This method will return a Map of values, sorted by the values. The keys to the map are the event strings in the trial.

Parameters:
metric - The metric of interest
type - The type of data
ascending - Either ascending (true) or descending (false) order
Returns:
the Map of values
See Also:
AbstractResult.INCLUSIVE, AbstractResult.EXCLUSIVE, AbstractResult.CALLS, AbstractResult.SUBROUTINES, AbstractResult.USEREVENT_NUMEVENTS, AbstractResult.USEREVENT_MAX, AbstractResult.USEREVENT_MIN, AbstractResult.USEREVENT_MEAN, AbstractResult.USEREVENT_SUMSQR

getSubroutines

double getSubroutines(Integer thread,
                      String event)
This method will return the number of subroutines that the specified event had on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the number of subroutines

getThreads

Set<Integer> getThreads()
This method will return a Set of Integers, which represent the identifiers of the threads of execution in the trial.

Returns:
the set of thread identifiers

getTimeMetric

String getTimeMetric()
This method will return the metric which represents the time metric in the trial.

Returns:
the metric name

getTLBMissMetric

String getTLBMissMetric()
This method returns the metric name which represents the TLB misses.

Returns:
the metric name

getTotalInstructionMetric

String getTotalInstructionMetric()
This method returns the metric name which represents the total number of instructions.

Returns:
the metric name

getTrial

Trial getTrial()
This method returns the Trial to which the performance data is related.

Returns:
the Trial

getTrialID

Integer getTrialID()
This method returns the ID of the Trial to which the performance data is related.

Returns:
the trial's ID

getUsereventMax

double getUsereventMax(Integer thread,
                       String event)
This method will return the maximum value for the specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the maximum value

getUsereventMean

double getUsereventMean(Integer thread,
                        String event)
This method will return the mean value for the specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the mean value

getUsereventMin

double getUsereventMin(Integer thread,
                       String event)
This method will return the minimum value for the specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the minimum value

getUsereventNumevents

double getUsereventNumevents(Integer thread,
                             String event)
This method will return the number of times that a specified user event happened on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the number of events

getUserEvents

Set<String> getUserEvents()
This method will return a Set of Strings, which represent the names of the userevents in the trial.

Returns:
the set of userevent names

getUserEvents

Set<String> getUserEvents(Integer thread)
This method will return a Set of Strings, which represent the names of the userevents for the specified thread in the trial.

Returns:
the set of userevent names

getUsereventSumsqr

double getUsereventSumsqr(Integer thread,
                          String event)
This method will return the sum of squared values for the specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
Returns:
the sum of squared values

putCalls

void putCalls(Integer thread,
              String event,
              double value)
This method will save the specified value as the number of calls for the specified event on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The value measured on that thread, event combination

putDataPoint

void putDataPoint(Integer thread,
                  String event,
                  String metric,
                  int type,
                  double value)
This method will store the specified value in the trial for the specified thread, event, metric, type combination.

Parameters:
thread - The thread of interest
event - The event of interest
metric - The metric of interest
type - The type of data to return
value - The value The value of that type measured on that thread, event, metric combination
See Also:
putExclusive(java.lang.Integer, java.lang.String, java.lang.String, double), putInclusive(java.lang.Integer, java.lang.String, java.lang.String, double), putCalls(java.lang.Integer, java.lang.String, double), putSubroutines(java.lang.Integer, java.lang.String, double), AbstractResult.INCLUSIVE, AbstractResult.EXCLUSIVE, AbstractResult.CALLS, AbstractResult.SUBROUTINES, AbstractResult.USEREVENT_NUMEVENTS, AbstractResult.USEREVENT_MAX, AbstractResult.USEREVENT_MIN, AbstractResult.USEREVENT_MEAN, AbstractResult.USEREVENT_SUMSQR

putExclusive

void putExclusive(Integer thread,
                  String event,
                  String metric,
                  double value)
This method will save the specified value as the exclusive value for the specified thread, event, metric combination.

Parameters:
thread - The thread of interest
event - The event of interest
metric - The metric of interest
value - The value measured on that thread, event, metric combination

putInclusive

void putInclusive(Integer thread,
                  String event,
                  String metric,
                  double value)
This method will save the specified value as the inclusive value for the specified thread, event, metric combination.

Parameters:
thread - The thread of interest
event - The event of interest
metric - The metric of interest
value - The value measured on that thread, event, metric combination

putSubroutines

void putSubroutines(Integer thread,
                    String event,
                    double value)
This method will save the specified value as the number of subroutines for the specified event on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The value measured on that thread, event combination

putUsereventMax

void putUsereventMax(Integer thread,
                     String event,
                     double value)
This method will save the maximum value for a specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The maximum value

putUsereventMean

void putUsereventMean(Integer thread,
                      String event,
                      double value)
This method will save the mean value for a specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The mean value

putUsereventMin

void putUsereventMin(Integer thread,
                     String event,
                     double value)
This method will save the minimum value for a specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The minimum value

putUsereventNumevents

void putUsereventNumevents(Integer thread,
                           String event,
                           double value)
This method will save the number of times that a specified user event happened on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The number of events

putUsereventSumsqr

void putUsereventSumsqr(Integer thread,
                        String event,
                        double value)
This method will save the sum of squared values for the specified user event which was observed on the specified thread of execution.

Parameters:
thread - The thread of interest
event - The event of interest
value - The sum of squared values

setEventMap

void setEventMap(Map<Integer,String> eventMap)
Set the Map of events in this result.

Parameters:
eventMap - the eventMap to set
See Also:
Map

setIgnoreWarnings

void setIgnoreWarnings(boolean ignore)
When values are requested from the trial, ignore warnings if the values are null

Parameters:
ignore -

setName

void setName(String name)
Set the name for this input.

Parameters:
name - The new name for the input

toString

String toString()
This method will return a string representation of this PerformanceResult.

Overrides:
toString in class Object
Returns:
a printable string

updateEventMap

void updateEventMap()
update the event map - remove what's missing, essentially


PerfExplorer 2.0

****************************************************************************
Copyright 1997-2009
Department of Computer and Information Science, University of Oregon
Advanced Computing Laboratory, Los Alamos National Laboratory
Juelich Supercomputing Centre, Research Center Juelich, Germany
http://tau.uoregon.edu
****************************************************************************
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of University of Oregon (UO) and Los Alamos National Laboratory (LANL) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The University of Oregon and LANL makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

THE UNIVERSITY OF OREGON AND LANL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF OREGON OR LANL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.