PerfettoGenericPostProcessor

public class PerfettoGenericPostProcessor
extends BasePostProcessor

java.lang.Object
com.android.tradefed.postprocessor.BasePostProcessor
com.android.tradefed.postprocessor.PerfettoGenericPostProcessor


Постпроцессор, который преобразует текстовые/бинарные метрические данные из файла proto в пары ключ-значение путем рекурсивного расширения сообщений proto и полей строковыми значениями до тех пор, пока не будет найдено поле с числовым значением. При построении ключей обрабатывает перечисления и логические значения как строковые.

При необходимости поддерживается индексирование полей списка, если при формировании ключей обнаруживаются дубликаты. Например:

"perfetto-indexed-list-field" - perfetto.protos.AndroidStartupMetric.Startup

"perfetto-prefix-key-field" - perfetto.protos.ProcessRenderInfo.process_name

android_startup-startup#1-package_name-com.calculator-to_first_frame-dur_ns: 300620342 android_startup-startup#2-package_name-com.nexuslauncher-to_first_frame-dur_ns: 49257713 android_startup-startup#3-package_name-com.calculator-to_first_frame-dur_ns: 261382005

Краткое содержание

Государственные строители

PerfettoGenericPostProcessor ()

Общедоступные методы

Map<String, MetricMeasurement.Metric.Builder> processRunMetricsAndLogs (HashMap<String, MetricMeasurement.Metric> rawMetrics, Map<String, LogFile > runLogs)

Реализуйте этот метод, чтобы сгенерировать набор новых метрик на основе существующих метрик и журналов.

Map<String, MetricMeasurement.Metric.Builder> processTestMetricsAndLogs ( TestDescription testDescription, HashMap<String, MetricMeasurement.Metric> testMetrics, Map<String, LogFile > testLogs)

Реализуйте этот метод для отправки метрик и логов из каждого теста.

Защищенные методы

MetricMeasurement.DataType getMetricType ()

Установите тип метрики на "сырая метрика".

Государственные строители

PerfettoGenericPostProcessor

public PerfettoGenericPostProcessor ()

Общедоступные методы

processRunMetricsAndLogs

public Map<String, MetricMeasurement.Metric.Builder> processRunMetricsAndLogs (HashMap<String, MetricMeasurement.Metric> rawMetrics, 
                Map<String, LogFile> runLogs)

Реализуйте этот метод для генерации набора новых метрик на основе существующих метрик и логов. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (конфликты с существующими ключами не допускаются).

Параметры
rawMetrics HashMap : Набор исходных метрик, доступных для выполнения программы.

runLogs Map : Набор файлов журналов для тестового запуска.

Возвраты
Map<String, MetricMeasurement.Metric.Builder> Набор вновь сгенерированных метрик на основе метрик выполнения.

processTestMetricsAndLogs

public Map<String, MetricMeasurement.Metric.Builder> processTestMetricsAndLogs (TestDescription testDescription, 
                HashMap<String, MetricMeasurement.Metric> testMetrics, 
                Map<String, LogFile> testLogs)

Реализуйте этот метод для постобработки метрик и логов из каждого теста. Должны возвращаться только вновь сгенерированные метрики с уникальным именем ключа (конфликты с существующими ключами не допускаются).

Параметры
testDescription TestDescription : Объект TestDescription, описывающий тест.

testMetrics HashMap : Набор метрик из теста.

testLogs Map : набор файлов, зарегистрированных во время теста.

Возвраты
Map<String, MetricMeasurement.Metric.Builder> Набор вновь сгенерированных метрик на основе тестовых метрик.

Защищенные методы

getMetricType

protected MetricMeasurement.DataType getMetricType ()

Установите тип метрики на "сырая метрика".

Возвраты
MetricMeasurement.DataType