Report crash source(sys app, user app, sys serve) in AppCrashOccurred atom.
BUG: b/119134344
Test: statsd test
Change-Id: I80721c606f276ee7f3c66f09e816b4ffc06a4ef8
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index 745c1263..faf8561 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -42,6 +42,7 @@
import android.os.Trace;
import android.os.UserHandle;
import android.provider.Settings;
+import android.server.ServerProtoEnums;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.DebugUtils;
@@ -1224,6 +1225,17 @@
return mWindowProcessController.getInputDispatchingTimeout();
}
+ public int getProcessClassEnum() {
+ if (pid == MY_PID) {
+ return ServerProtoEnums.SYSTEM_SERVER;
+ }
+ if (info == null) {
+ return ServerProtoEnums.ERROR_SOURCE_UNKNOWN;
+ }
+ return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0 ? ServerProtoEnums.SYSTEM_APP :
+ ServerProtoEnums.DATA_APP;
+ }
+
void appNotResponding(String activityShortComponentName, ApplicationInfo aInfo,
String parentShortComponentName, WindowProcessController parentProcess,
boolean aboveSystem, String annotation) {
@@ -1380,7 +1392,9 @@
: StatsLog.ANROCCURRED__IS_INSTANT_APP__UNAVAILABLE,
isInterestingToUserLocked()
? StatsLog.ANROCCURRED__FOREGROUND_STATE__FOREGROUND
- : StatsLog.ANROCCURRED__FOREGROUND_STATE__BACKGROUND);
+ : StatsLog.ANROCCURRED__FOREGROUND_STATE__BACKGROUND,
+ getProcessClassEnum(),
+ (this.info != null) ? this.info.packageName : "");
final ProcessRecord parentPr = parentProcess != null
? (ProcessRecord) parentProcess.mOwner : null;
mService.addErrorToDropBox("anr", this, processName, activityShortComponentName,