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)

將 Proto 訊息扁平化為一組鍵/值組合,這些組合會成為指標。

MetricMeasurement.DataType getMetricType()

將指標類型設為原始指標。

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 訊息扁平化為一組鍵/值組合,這些組合會成為指標。

系統會將訊息視為樹狀結構,並使用從根目錄到非訊息值的串連路徑做為鍵,而非訊息值則會成為指標值。重複欄位的節點會與其他節點有所區別,因為第一個元素之後的所有元素都會附加從 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)

從從 statsd 報表 proto 讀取的 ConfigMetricsReportList剖析指標。

這是這個 statsd 後續處理器的子類別主要介面。

參數
reportList StatsLog.ConfigMetricsReportList

傳回
Map<String, MetricMeasurement.Metric.Builder>