StatsdGenericPostProcessor

public class StatsdGenericPostProcessor
extends BasePostProcessor

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


バイナリ proto statsd レポートを Key-Value ペアに処理するポスト プロセッサ。レポートをツリー構造として展開します。

このプロセッサは、検出する指標レポートのタイプに依存しません。また、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)

proto メッセージを Key-Value ペアのセットにフラット化します。これは指標になります。

MetricMeasurement.DataType getMetricType()

指標タイプを RAW 指標に設定します。

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

statsd レポート proto から読み取られた ConfigMetricsReportList から指標を解析します。

パブリック コンストラクタ

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)

proto メッセージを Key-Value ペアのセットにフラット化します。これは指標になります。

メッセージをツリーとして扱い、ルートからメッセージ以外の値までの連結パスをキーとして使用し、メッセージ以外の値が指標値になります。繰り返しフィールドのノードは、最初の要素を除くすべての要素に 1 ベースのインデックス番号が付加されることで区別されます。最初の要素は追加されません。ほとんどの場合、リスト フィールドには 1 つの要素しか含まれておらず、そのまま表示する方が読みやすいためです。

TODO(b/140432161): 必要に応じて、これをユーティリティに分離します。

パラメータ
reportMessage Message

戻り値
Map<String, MetricMeasurement.Metric.Builder>

getMetricType

protected MetricMeasurement.DataType getMetricType ()

指標タイプを RAW 指標に設定します。

戻り値
MetricMeasurement.DataType

parseMetricsFromReportList

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

statsd レポート proto から読み取られた ConfigMetricsReportList から指標を解析します。

これは、この statsd 後処理のサブクラスのメイン インターフェースです。

パラメータ
reportList StatsLog.ConfigMetricsReportList

戻り値
Map<String, MetricMeasurement.Metric.Builder>