RuntimeRestartCollector

public class RuntimeRestartCollector
extends BaseDeviceMetricCollector

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


Collector che raccoglie timestamp dei riavvii del runtime (arresto anomalo del server di sistema) durante l'esecuzione del test, se presente.

Visualizza i risultati in conteggi, il tempo dell'orologio da parete in secondi e nel formato HH:mm:ss e il tempo di attività del sistema in nanosecondi e nel formato HH:mm:ss.

Questo raccoglitore utilizza due origini per gli arresti anomali del server di sistema:

  1. L'elenco system_restart_sec da StatsdStatsReport, che è un elenco di 20 timestamp quando il server di sistema si arresta in modo anomalo, in secondi, con arresti anomali più recenti aggiunti alla fine (quando l'elenco si riempie, i timestamp più vecchi cadono dall'inizio).
  2. AppCrashOccurred statsd atom, in cui un arresto anomalo del server di sistema si presenta come un arresto anomalo del processo system_server (questo comportamento è documentato nella definizione statsd atoms.proto). La metrica dell'evento fornisce il tempo di attività del dispositivo quando si verifica l'arresto anomalo.

Entrambe possono essere informazioni utili, poiché la prima semplifica la correlazione dei timestamp nei log, mentre la seconda funge da metrica di longevità.

Riepilogo

Campi

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

Costruttori pubblici

RuntimeRestartCollector ()

Metodi pubblici

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

Estrai i timestamp alla fine del test e segnala la differenza con quelli esistenti, se presenti.

void onTestRunStart ( DeviceMetricData runData)

Archivia i timestamp esistenti dei riavvii del server di sistema prima dell'esecuzione del test poiché statsd ne conserva un registro in esecuzione e invia la configurazione per raccogliere arresti anomali dell'app.

Campi

PREFISSO_METRICO

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

Costruttori pubblici

RuntimeRestartCollector

public RuntimeRestartCollector ()

Metodi pubblici

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                 currentRunMetrics)

Estrai i timestamp alla fine del test e segnala la differenza con quelli esistenti, se presenti.

Parametri
runData DeviceMetricData : DeviceMetricData che contiene i dati per la corsa. Sarà lo stesso oggetto di onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData) .

currentRunMetrics : la mappa corrente delle metriche passata a ERROR(/#testRunEnded(long,Map)) .

Tiri
DeviceNotAvailableException

suTestRunStart

public void onTestRunStart (DeviceMetricData runData)

Archivia i timestamp esistenti dei riavvii del server di sistema prima dell'esecuzione del test poiché statsd ne conserva un registro in esecuzione e invia la configurazione per raccogliere arresti anomali dell'app.

Parametri
runData DeviceMetricData : DeviceMetricData che contiene i dati per la corsa.

Tiri
DeviceNotAvailableException