910e62b5创建于 1月15日历史提交
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";
option optimize_for = LITE_RUNTIME;

package crash.anr.proto;

option java_package = "org.chromium.components.crash.anr";

// This is a proto copied from the source code of the crash server to ensure we
// have the correct format to upload.
message AnrData {
  // Name of the activity which is not responding.
  // Chrome does not use this right now.
  // optional string activity = 1;

  // Description of the operation that timed out.
  // Chrome does not put a useful value in here, but must include it to be
  // processed.
  optional string cause = 2;  // required

  // Type of ANR, parsed from the cause.
  // Chrome does not use this right now.
  // optional string cause_type = 10;

  // This is the android app component (declared in the manifest) that is
  // experiencing the ANR. It could be extracted form the "ANR cause" or it
  // could be the activity (for input dispatching timeout cases - in which
  // case it's not parsed from the cause).
  //
  // For instance, for the following ANR cause:
  //   "Broadcast of Intent { act=com.nativedroid.sa.sdk.tick flg=0x10
  //    cmp=com.android.appkeyguard/cnuunh.myimpj.yhYjQqAheTNUaYGL
  //    (has extras) }"
  //
  // The android app component is:
  //   "com.android.appkeyguard/cnuunh.myimpj.yhYjQqAheTNUaYGL".
  // Chrome does not use this right now.
  // optional string component = 9;

  // A message created for the developer by ActivityManagerService during an
  // ANR. It contains additional info such as the CPU stats.
  // Chrome does not use this right now.
  // optional string extra = 3;

  // Stack traces for all the threads that were running on the device. If
  // deobfuscation is enabled, these stack_traces will be deobfuscated during
  // the preprocessing phase.
  optional string stack_traces = 4;

  // The parsed stack traces for easier processing.
  // This parsing is performed upstream and this field is already parsed when
  // passing to crash.
  // Chrome does not use this right now.
  // repeated string parsed_stack_traces = 5;

  // The stack trace of the main thread (starting from the status line)
  // of the process that is not responsive according to
  // MobileData.package_data.process_name.
  optional string main_thread_stack_trace = 6;

  // The state of the main thread of the process that is not responsive,
  // parsed from the stacktrace (e.g. "NATIVE", "SUSPENDED", "WAIT").
  // This field is populated during server side processing from
  // main_thread_stack_trace.
  // Chrome does not use this right now.
  // optional string main_thread_state = 7;

  // Preamble of anr report.
  optional string preamble = 8;
}