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