RuntimeRestartCollector

public class RuntimeRestartCollector
extends BaseDeviceMetricCollector

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


Raccoglitore che raccoglie i timestamp dei riavvii di runtime (arresti anomali del server di sistema) durante l'esecuzione del test, se presenti.

Consente di visualizzare i risultati in conteggi, tempo dell'orologio in secondi e nel formato HH:mm:ss e 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 di StatsdStatsReport, che è un elenco dinamico di 20 timestamp in secondi relativi agli arresti anomali del server di sistema, con gli arresti anomali più recenti aggiunti alla fine (quando l'elenco è pieno, i timestamp più vecchi vengono rimossi dall'inizio).
  2. L'atomo statsd AppCrashOccurred, in cui un arresto anomalo del server di sistema viene visualizzato come arresto anomalo del processo system_server (questo comportamento è documentato nella definizione di atoms.proto di statsd). La metrica evento indica il tempo di attività del dispositivo al momento dell'arresto anomalo.

Entrambe possono essere informazioni utili, in quanto 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)

Estrai i timestamp alla fine dell'esecuzione del test e indica la differenza con quelli esistenti, se presenti.

void onTestRunStart(DeviceMetricData runData)

Memorizza i timestamp esistenti dei riavvii del server di sistema prima dell'esecuzione del test, poiché statsd ne mantiene un log in esecuzione, e invia la configurazione per raccogliere gli arresti anomali dell'app.

Campi

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

Costruttori pubblici

RuntimeRestartCollector

public RuntimeRestartCollector ()

Metodi pubblici

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                 currentRunMetrics)

Estrai i timestamp alla fine dell'esecuzione del test e indica la differenza con quelli esistenti, se presenti.

Parametri
runData DeviceMetricData: il DeviceMetricData contenente i dati per l'esecuzione. Sarà lo stesso oggetto utilizzato durante onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData).

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

Lanci
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

Memorizza i timestamp esistenti dei riavvii del server di sistema prima dell'esecuzione del test, poiché statsd ne mantiene un log in esecuzione, e invia la configurazione per raccogliere gli arresti anomali dell'app.

Parametri
runData DeviceMetricData: il DeviceMetricData contenente i dati per l'esecuzione.

Lanci
DeviceNotAvailableException