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 形式)で出力されます。

このコレクタは、システム サーバーのクラッシュに関する情報源として次の 2 つを使用します。

  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, Map<String, MetricMeasurement.Metric> 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, 
                Map<String, MetricMeasurement.Metric> currentRunMetrics)

テスト実行の終了時にタイムスタンプを取得し、既存のタイムスタンプとの差分を報告します(差分がある場合) 。

パラメータ
runData DeviceMetricData: 実行のデータを保持する DeviceMetricData。 と同じオブジェクトになります。onTestRunStart(DeviceMetricData)

currentRunMetrics Map: testRunEnded(long,Map) に渡される指標の現在のマップ。

例外
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

テスト実行前に、システム サーバーの再起動の既存のタイムスタンプを保存します。これは、statsd が 実行ログを保持し、アプリのクラッシュを収集する構成をプッシュするためです。

パラメータ
runData DeviceMetricData: 実行のデータを保持する DeviceMetricData

例外
DeviceNotAvailableException