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, 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, 
                 currentRunMetrics)

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

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

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

थ्रो
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

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

पैरामीटर
runData DeviceMetricData: वह DeviceMetricData जिसमें रन का डेटा मौजूद है.

थ्रो
DeviceNotAvailableException