MetricUtility

public class MetricUtility
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.MetricUtility


包含用于存储测试指标、汇总类似测试中的指标以及将指标写入文件的常用实用程序方法。

摘要

嵌套类

class MetricUtility.DimensionalIterationData

用于保存单个测试迭代的维度指标文件和状态的辅助类。 

公共构造函数

MetricUtility()

公共方法

File aggregateDimensionalMetricsAndWriteToFile(List<MetricUtility.DimensionalIterationData> iterationDataList, Set<Integer> percentiles, String testIterationSeparator)

读取所有存储的维度指标报告文件,汇总原始值,计算统计信息,并写入新的汇总报告文件。

Map<String, MetricMeasurement.Metric> aggregateMetrics(Map<String, MetricMeasurement.Metric> rawMetrics)

以英文逗号分隔的汇总指标。

File aggregateStoredTestMetricsAndWriteToFile(String fileName)

汇总从多次迭代测试中收集的指标,并将汇总的指标写入测试结果文件。

void buildMetricFilterPatterns(Set<String> strictIncludeRegEx)

构建正则表达式模式以过滤指标。

Map<String, MetricMeasurement.Metric> filterMetrics(Map<String, MetricMeasurement.Metric> parsedMetrics)

过滤与模式匹配的指标。

static Map<String, Double> getStats(List<Double> values, Set<Integer> percentiles, int testIterations)

根据指定的值列表计算统计信息。

Map<String, List<MetricUtility.IterationData>> getTestIterations()
static boolean isAllDoubleValues(List<String> rawValues)

检查列表中的所有值是否都是 double 值。

void setIterationSeparator(String separator)
void setMetricsUseForTestIterations(Set<String> metricsUseForTestIterations)

设置在聚合期间应使用通过的测试迭代来计算平均值的指标的正则表达式。

void setPercentiles(Set<Integer> percentiles)
void storeTestMetrics(TestDescription testDescription, Map<String, MetricMeasurement.Metric> testMetrics, boolean testFailed)

用于存储各个测试指标并将其用于汇总。

void storeTestMetrics(TestDescription testDescription, Map<String, MetricMeasurement.Metric> testMetrics)

为了实现向后兼容性,storeTestMetrics 的重载版本。

File writeResultsToFile(String testFileSuffix, String testHeaderName, Map<String, String> metrics, File resultsFile)

将指标写入文件。

公共构造函数

MetricUtility

public MetricUtility ()

公共方法

aggregateDimensionalMetricsAndWriteToFile

public File aggregateDimensionalMetricsAndWriteToFile (List<MetricUtility.DimensionalIterationData> iterationDataList, 
                Set<Integer> percentiles, 
                String testIterationSeparator)

读取所有存储的维度指标报告文件,汇总原始值,计算统计信息,并写入新的汇总报告文件。

参数
iterationDataList List

percentiles Set:要计算的百分位数。

testIterationSeparator String:测试迭代的分隔符。

返回
File 包含汇总报告的 File,如果未执行任何汇总,则为 null。

aggregateMetrics

public Map<String, MetricMeasurement.Metric> aggregateMetrics (Map<String, MetricMeasurement.Metric> rawMetrics)

以英文逗号分隔的汇总指标。

参数
rawMetrics Map:测试运行期间收集的指标。

返回
Map<String, MetricMeasurement.Metric> 汇总指标。

aggregateStoredTestMetricsAndWriteToFile

public File aggregateStoredTestMetricsAndWriteToFile (String fileName)

汇总从多次测试迭代中收集的指标,并将汇总的指标写入测试结果文件。

参数
fileName String:写入指标时要使用的文件名。

返回
File

buildMetricFilterPatterns

public void buildMetricFilterPatterns (Set<String> strictIncludeRegEx)

构建正则表达式模式以过滤指标。

参数
strictIncludeRegEx Set

filterMetrics

public Map<String, MetricMeasurement.Metric> filterMetrics (Map<String, MetricMeasurement.Metric> parsedMetrics)

过滤与模式匹配的指标。

参数
parsedMetrics Map

返回
Map<String, MetricMeasurement.Metric>

getStats

public static Map<String, Double> getStats (List<Double> values, 
                Set<Integer> percentiles, 
                int testIterations)

根据给定的值列表计算统计信息。

参数
values List:用于计算聚合的原始值。

percentiles Set:要纳入最终指标中的统计数据。

testIterations int:用作平均值除数的迭代次数。如果为 0,则使用“values”列表的大小计算平均值。

返回
Map<String, Double> 汇总值。

getTestIterations

public Map<String, List<MetricUtility.IterationData>> getTestIterations ()

返回
Map<String, List<MetricUtility.IterationData>>

isAllDoubleValues

public static boolean isAllDoubleValues (List<String> rawValues)

检查列表中的所有值是否都是 double 值。

参数
rawValues List:要检查的值的列表。

返回
boolean 如果所有值都是 double 值,则为 true;否则为 false。

setIterationSeparator

public void setIterationSeparator (String separator)

参数
separator String

setMetricsUseForTestIterations

public void setMetricsUseForTestIterations (Set<String> metricsUseForTestIterations)

为应在聚合期间使用通过的测试迭代来计算平均值的指标设置正则表达式。

参数
metricsUseForTestIterations Set:一组正则表达式字符串。

setPercentiles

public void setPercentiles (Set<Integer> percentiles)

参数
percentiles Set

storeTestMetrics

public void storeTestMetrics (TestDescription testDescription, 
                Map<String, MetricMeasurement.Metric> testMetrics, 
                boolean testFailed)

用于存储各个测试指标,并用于汇总。

参数
testDescription TestDescription:包含测试详细信息,例如类名称和测试名称。

testMetrics Map:为测试收集的指标。

testFailed boolean:测试是否失败。

storeTestMetrics

public void storeTestMetrics (TestDescription testDescription, 
                Map<String, MetricMeasurement.Metric> testMetrics)

为了实现向后兼容性,重载了 storeTestMetrics 版本。默认情况下,testFailed 为 false。

参数
testDescription TestDescription

testMetrics Map

writeResultsToFile

public File writeResultsToFile (String testFileSuffix, 
                String testHeaderName, 
                Map<String, String> metrics, 
                File resultsFile)

将指标写入文件。

参数
testFileSuffix String:用作测试指标文件名的后缀。

testHeaderName String:指标将写入测试标题名称下。

metrics Map:要写入文件中的内容。

resultsFile File:如果为 null,则创建新文件并写入指标;否则,将测试标题名称和指标附加到文件中。

返回
File 包含指标的文件。