StatsdGenericPostProcessor

public class StatsdGenericPostProcessor
extends BasePostProcessor

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


यह एक पोस्ट प्रोसेसर है. यह बाइनरी प्रोटो 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)

statsd रिपोर्ट प्रोटो से पढ़ी गई 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)

प्रोटो मैसेज को की-वैल्यू पेयर के सेट में फ़्लैट करें. ये की-वैल्यू पेयर, मेट्रिक बन जाते हैं.

यह मैसेज को ट्री के तौर पर देखता है. साथ ही, रूट से लेकर नॉन-मैसेज वैल्यू तक के पाथ को कुंजी के तौर पर इस्तेमाल करता है. वहीं, नॉन-मैसेज वैल्यू, मेट्रिक वैल्यू बन जाती है. बार-बार इस्तेमाल किए गए फ़ील्ड के नोड में अंतर करने के लिए, पहले एलिमेंट के बाद सभी एलिमेंट में 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 रिपोर्ट प्रोटो से पढ़ी गई ConfigMetricsReportList से मेट्रिक पार्स करता है.

यह इस statsd पोस्ट प्रोसेसर की सबक्लास के लिए मुख्य इंटरफ़ेस है.

पैरामीटर
reportList StatsLog.ConfigMetricsReportList

रिटर्न
Map<String, MetricMeasurement.Metric.Builder>