RuntimeRestartCollector

public class RuntimeRestartCollector
extends BaseDeviceMetricCollector

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


Collector, der Zeitstempel von Laufzeitneustarts (Systemserverabstürze) während des Testlaufs sammelt, falls vorhanden.

Gibt Ergebnisse in Zählungen, Uhrzeit in Sekunden und im Format HH:mm:ss und Systembetriebszeit in Nanosekunden und im Format HH:mm:ss aus.

Dieser Kollektor verwendet zwei Quellen für Systemserverabstürze:

  1. Die system_restart_sec-Liste von StatsdStatsReport, die eine fortlaufende Liste von 20 Zeitstempeln ist, wenn der Systemserver abstürzt, in Sekunden, wobei neuere Abstürze am Ende angehängt werden (wenn die Liste voll ist, fallen ältere Zeitstempel vom Anfang weg).
  2. Das AppCrashOccurred statsd-Atom, bei dem ein Systemserverabsturz als system_server-Prozessabsturz angezeigt wird (dieses Verhalten ist in der statsd-atoms.proto-Definition dokumentiert). Die Ereignismetrik gibt die Betriebszeit des Geräts an, wenn der Absturz auftritt.

Beide können nützliche Informationen sein, da ersteres es einfach macht, Zeitstempel in Protokollen zu korrelieren, während letzteres als Langlebigkeitsmetrik dient.

Zusammenfassung

Felder

public static final String METRIC_PREFIX

public static final String METRIC_SUFFIX_COUNT

public static final String METRIC_SUFFIX_SYSTEM_TIMESTAMP_FORMATTED

public static final String METRIC_SUFFIX_SYSTEM_TIMESTAMP_SECS

public static final String METRIC_SUFFIX_UPTIME_FORMATTED

public static final String METRIC_SUFFIX_UPTIME_NANOS

public static final String SYSTEM_SERVER_KEYWORD

public static final SimpleDateFormat TIME_FORMATTER

Öffentliche Konstrukteure

RuntimeRestartCollector ()

Öffentliche Methoden

void onTestRunEnd ( DeviceMetricData runData, currentRunMetrics) onTestRunEnd ( DeviceMetricData runData, currentRunMetrics)

Ziehen Sie die Zeitstempel am Ende des Testlaufs und melden Sie den Unterschied zu vorhandenen, falls vorhanden.

void onTestRunStart ( DeviceMetricData runData)

Speichern Sie die vorhandenen Zeitstempel von Systemserver-Neustarts vor dem Testlauf, da statsd ein laufendes Protokoll davon führt, und pushen Sie die Konfiguration, um App-Abstürze zu erfassen.

Felder

METRISCH_PRÄFIX

public static final String METRIC_PREFIX

METRIC_SUFFIX_COUNT

public static final String METRIC_SUFFIX_COUNT

METRIC_SUFFIX_SYSTEM_TIMESTAMP_FORMATTED

public static final String METRIC_SUFFIX_SYSTEM_TIMESTAMP_FORMATTED

METRIC_SUFFIX_SYSTEM_TIMESTAMP_SECS

public static final String METRIC_SUFFIX_SYSTEM_TIMESTAMP_SECS

METRIC_SUFFIX_UPTIME_FORMATTED

public static final String METRIC_SUFFIX_UPTIME_FORMATTED

METRIC_SUFFIX_UPTIME_NANOS

public static final String METRIC_SUFFIX_UPTIME_NANOS

SYSTEM_SERVER_KEYWORD

public static final String SYSTEM_SERVER_KEYWORD

TIME_FORMATTER

public static final SimpleDateFormat TIME_FORMATTER

Öffentliche Konstrukteure

RuntimeRestartCollector

public RuntimeRestartCollector ()

Öffentliche Methoden

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                 currentRunMetrics)

Ziehen Sie die Zeitstempel am Ende des Testlaufs und melden Sie den Unterschied zu vorhandenen, falls vorhanden.

Parameter
runData DeviceMetricData : die DeviceMetricData , die die Daten für den Lauf enthalten. Wird dasselbe Objekt sein wie während onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData) .

currentRunMetrics : die aktuelle Karte der an ERROR(/#testRunEnded(long,Map)) übergebenen Metriken.

Wirft
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

Speichern Sie die vorhandenen Zeitstempel von Systemserver-Neustarts vor dem Testlauf, da statsd ein laufendes Protokoll davon führt, und pushen Sie die Konfiguration, um App-Abstürze zu erfassen.

Parameter
runData DeviceMetricData : die DeviceMetricData , die die Daten für den Lauf enthalten.

Wirft
DeviceNotAvailableException