RuntimeRestartCollector

public class RuntimeRestartCollector
extends BaseDeviceMetricCollector

java.lang.Object
   ↳ com.android.tradefed.device.metric.BaseDeviceMetricCollector
     ↳ com.android.tradefed.device.metric.RuntimeRestartCollector


यह कलेक्टर, टेस्ट रन के दौरान सिस्टम सर्वर क्रैश होने पर, रनटाइम रीस्टार्ट के टाइमस्टैंप इकट्ठा करता है.

यह फ़ंक्शन, नतीजों को गिनती, वॉल क्लॉक के हिसाब से सेकंड और HH:mm:ss फ़ॉर्मैट में दिखाता है. साथ ही, सिस्टम के अपटाइम को नैनोसेकंड और HH:mm:ss फ़ॉर्मैट में दिखाता है.

यह कलेक्टर, सिस्टम सर्वर क्रैश होने की जानकारी के लिए दो सोर्स का इस्तेमाल करता है:

  1. StatsdStatsReport से system_restart_sec की सूची. यह सूची, सिस्टम सर्वर क्रैश होने पर 20 टाइमस्टैंप की रोलिंग सूची होती है. इसमें टाइमस्टैंप को सेकंड में दिखाया जाता है. नए क्रैश होने पर, टाइमस्टैंप को सूची के आखिर में जोड़ दिया जाता है. सूची पूरी होने पर, पुराने टाइमस्टैंप सूची की शुरुआत से हट जाते हैं.
  2. AppCrashOccurred statsd ऐटम, जहां सिस्टम सर्वर क्रैश होने की जानकारी, system_server प्रोसेस क्रैश होने के तौर पर दिखती है. इस व्यवहार के बारे में, statsd atoms.proto की परिभाषा में बताया गया है. इस इवेंट मेट्रिक से, क्रैश होने के समय डिवाइस के चालू रहने की जानकारी मिलती है.

दोनों ही जानकारी काम की हो सकती हैं. पहली जानकारी से, लॉग में टाइमस्टैंप को आसानी से कोरिलेट किया जा सकता है. वहीं, दूसरी जानकारी से यह पता चलता है कि उपयोगकर्ता कितनी बार ऐप्लिकेशन का इस्तेमाल करता है.

खास जानकारी

कॉन्स्टेंट

String METRIC_PREFIX

String METRIC_SUFFIX_COUNT

String METRIC_SUFFIX_SYSTEM_TIMESTAMP_FORMATTED

String METRIC_SUFFIX_SYSTEM_TIMESTAMP_SECS

String METRIC_SUFFIX_UPTIME_FORMATTED

String METRIC_SUFFIX_UPTIME_NANOS

String SYSTEM_SERVER_KEYWORD

फ़ील्ड

public static final SimpleDateFormat TIME_FORMATTER

सार्वजनिक कंस्ट्रक्टर

RuntimeRestartCollector()

पब्लिक मेथड

void onTestRunEnd(DeviceMetricData runData, Map<String, MetricMeasurement.Metric> currentRunMetrics)

टेस्ट रन के आखिर में टाइमस्टैंप निकालें और मौजूदा टाइमस्टैंप से उनके अंतर की जानकारी दें.

void onTestRunStart(DeviceMetricData runData)

टेस्ट रन से पहले, सिस्टम सर्वर के रीस्टार्ट होने के मौजूदा टाइमस्टैंप सेव करें. ऐसा इसलिए, क्योंकि statsd इनका लॉग सेव करता है. साथ ही, ऐप्लिकेशन क्रैश होने की जानकारी इकट्ठा करने के लिए कॉन्फ़िगरेशन को पुश करें.

कॉन्स्टेंट

METRIC_PREFIX

public static final String METRIC_PREFIX

कॉन्स्टेंट वैल्यू: "runtime-restart"

METRIC_SUFFIX_COUNT

public static final String METRIC_SUFFIX_COUNT

कॉन्स्टेंट वैल्यू: "count"

METRIC_SUFFIX_SYSTEM_TIMESTAMP_FORMATTED

public static final String METRIC_SUFFIX_SYSTEM_TIMESTAMP_FORMATTED

कॉन्स्टेंट वैल्यू: "timestamps_str"

METRIC_SUFFIX_SYSTEM_TIMESTAMP_SECS

public static final String METRIC_SUFFIX_SYSTEM_TIMESTAMP_SECS

कॉन्स्टेंट वैल्यू: "timestamps_secs"

METRIC_SUFFIX_UPTIME_FORMATTED

public static final String METRIC_SUFFIX_UPTIME_FORMATTED

कॉन्स्टेंट वैल्यू: "uptime_str"

METRIC_SUFFIX_UPTIME_NANOS

public static final String METRIC_SUFFIX_UPTIME_NANOS

कॉन्स्टेंट वैल्यू: "uptime_nanos"

SYSTEM_SERVER_KEYWORD

public static final String SYSTEM_SERVER_KEYWORD

कॉन्स्टेंट वैल्यू: "system_server"

फ़ील्ड

TIME_FORMATTER

public static final SimpleDateFormat TIME_FORMATTER

सार्वजनिक कंस्ट्रक्टर

RuntimeRestartCollector

public RuntimeRestartCollector ()

पब्लिक मेथड

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                Map<String, MetricMeasurement.Metric> currentRunMetrics)

टेस्ट रन के आखिर में टाइमस्टैंप निकालें और मौजूदा टाइमस्टैंप से उनके अंतर की जानकारी दें.

पैरामीटर
runData DeviceMetricData: यह DeviceMetricData है, जिसमें रन के लिए डेटा होता है. यह onTestRunStart(DeviceMetricData) के दौरान इस्तेमाल किए गए ऑब्जेक्ट जैसा ही होगा.

currentRunMetrics Map: testRunEnded(long,Map) को पास की गई मेट्रिक का मौजूदा मैप.

थ्रो
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

टेस्ट रन से पहले, सिस्टम सर्वर के रीस्टार्ट होने के मौजूदा टाइमस्टैंप सेव करें. ऐसा इसलिए, क्योंकि statsd इनका लॉग सेव करता रहता है. साथ ही, ऐप्लिकेशन क्रैश होने की जानकारी इकट्ठा करने के लिए कॉन्फ़िगरेशन को पुश करें.

पैरामीटर
runData DeviceMetricData: यह DeviceMetricData है, जिसमें रन के लिए डेटा होता है.

थ्रो
DeviceNotAvailableException