RuntimeRestartCollector

public class RuntimeRestartCollector
extends BaseDeviceMetricCollector

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


Kollektor, der gegebenenfalls Zeitstempel von Laufzeitneustarts (Abstürze des Systemservers) während des Testlaufs sammelt.

Die Ergebnisse werden in Zählwerten, der Uhrzeit in Sekunden und im Format HH:mm:ss sowie der Systemverfügbarkeit in Nanosekunden und im Format HH:mm:ss ausgegeben.

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

  1. Die system_restart_sec-Liste von StatsdStatsReport, eine fortlaufende Liste von 20 Zeitstempeln, 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).
  2. Das AppCrashOccurred-Statsd-Atom, bei dem ein Systemserverabsturz als Systemserver-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 die Korrelation von Zeitstempeln in Protokollen erleichtert, 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 Bauträger

RuntimeRestartCollector ()

Öffentliche Methoden

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

Rufen Sie die Zeitstempel am Ende des Testlaufs ab und melden Sie ggf. den Unterschied zu vorhandenen Zeitstempeln.

void onTestRunStart ( DeviceMetricData runData)

Speichern Sie die vorhandenen Zeitstempel der 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

METRIC_PREFIX

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 Bauträger

RuntimeRestartCollector

public RuntimeRestartCollector ()

Öffentliche Methoden

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                 currentRunMetrics)

Rufen Sie die Zeitstempel am Ende des Testlaufs ab und melden Sie ggf. den Unterschied zu vorhandenen Zeitstempeln.

Parameter
runData DeviceMetricData : DeviceMetricData das die Daten für den Lauf enthält. Wird das gleiche Objekt sein wie während onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData) .

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

Würfe
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

Speichern Sie die vorhandenen Zeitstempel der 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 : DeviceMetricData das die Daten für den Lauf enthält.

Würfe
DeviceNotAvailableException