Home | History | Annotate | Download | only in profiler
      1 package com.android.tradefed.profiler;
      2 
      3 import com.android.tradefed.profiler.recorder.IMetricsRecorder;
      4 
      5 import java.util.List;
      6 import java.util.Map;
      7 
      8 /**
      9  * An {@link ITestProfiler} which handles aggregating metrics across multiple devices and test runs.
     10  * This interface should be used for any profiler which sends different metrics for {@link
     11  * #getAggregateMetrics}.
     12  */
     13 public interface IAggregatingTestProfiler extends ITestProfiler {
     14     /**
     15      * Return a description of this test profiler.
     16      * @return the description
     17      */
     18     public String getDescription();
     19 
     20     /**
     21      * Return metrics that have been aggregated over all tests and devices.
     22      * @return the metrics
     23      */
     24     public Map<String, Double> getAggregateMetrics();
     25 
     26     /**
     27      * Return a {@link List} of all {@link IMetricsRecorder}s used by this profiler.
     28      * @return the recorders
     29      */
     30     public List<IMetricsRecorder> getRecorders();
     31 
     32     /**
     33      * Return the {@link MetricOutputData} object used to hold formatted metrics.
     34      * @return the current {@link MetricOutputData}
     35      */
     36     public MetricOutputData getMetricOutputUtil();
     37 }
     38