StatsdGenericPostProcessor

public class StatsdGenericPostProcessor
extends BasePostProcessor

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


Постпроцессор, который преобразует бинарные отчеты proto statsd в пары ключ-значение, разворачивая отчет в виде древовидной структуры.

Этот процессор не зависит от типа отчетов по метрикам, с которыми он сталкивается. Он также служит базовым классом для других постпроцессоров statsd, включая общий код для получения и чтения отчетов statsd.

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

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

StatsdGenericPostProcessor ()

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

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)

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

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

Map<String, MetricMeasurement.Metric.Builder> convertProtoMessage (Message reportMessage)

Преобразуйте прототип сообщения в набор пар ключ-значение, которые станут метриками.

MetricMeasurement.DataType getMetricType ()

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

Map<String, MetricMeasurement.Metric.Builder> parseMetricsFromReportList (StatsLog.ConfigMetricsReportList reportList)

Анализ метрик из объекта ConfigMetricsReportList , считанного из протокола отчета statsd.

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

StatsdGenericPostProcessor

public StatsdGenericPostProcessor ()

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

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> Набор вновь сгенерированных метрик на основе тестовых метрик.

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

convertProtoMessage

protected Map<String, MetricMeasurement.Metric.Builder> convertProtoMessage (Message reportMessage)

Преобразуйте прототип сообщения в набор пар ключ-значение, которые станут метриками.

Он рассматривает сообщение как дерево и использует конкатенированный путь от корня до значения, не являющегося сообщением, в качестве ключа, а значение, не являющееся сообщением, становится значением метрики. Узлы из повторяющихся полей различаются добавлением индекса, начинающегося с 1, ко всем элементам после первого элемента. Первый элемент не добавляется, поскольку в большинстве случаев в поле списка находится только один элемент, и его отображение в неизмененном виде упрощает чтение.

TODO(b/140432161): Выделить это в отдельную утилиту, если возникнет необходимость.

Параметры
reportMessage Message

Возвраты
Map<String, MetricMeasurement.Metric.Builder>

getMetricType

protected MetricMeasurement.DataType getMetricType ()

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

Возвраты
MetricMeasurement.DataType

parseMetricsFromReportList

protected Map<String, MetricMeasurement.Metric.Builder> parseMetricsFromReportList (StatsLog.ConfigMetricsReportList reportList)

Анализ метрик из объекта ConfigMetricsReportList , считанного из протокола отчета statsd.

Это основной интерфейс для подклассов данного постпроцессора statsd.

Параметры
reportList StatsLog.ConfigMetricsReportList

Возвраты
Map<String, MetricMeasurement.Metric.Builder>