// 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; }