diff options
3 files changed, 8 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/Watchdog.java b/services/core/java/com/android/server/Watchdog.java index e5360766e8a0..03821db3e43f 100644 --- a/services/core/java/com/android/server/Watchdog.java +++ b/services/core/java/com/android/server/Watchdog.java @@ -880,7 +880,8 @@ public class Watchdog implements Dumpable { CriticalEventLog.getInstance().logLinesForSystemServerTraceFile(); final UUID errorId = mTraceErrorLogger.generateErrorId(); if (mTraceErrorLogger.isAddErrorIdEnabled()) { - mTraceErrorLogger.addErrorIdToTrace("system_server", errorId); + mTraceErrorLogger.addProcessInfoAndErrorIdToTrace("system_server", Process.myPid(), + errorId); mTraceErrorLogger.addSubjectToTrace(subject, errorId); } diff --git a/services/core/java/com/android/server/am/ProcessErrorStateRecord.java b/services/core/java/com/android/server/am/ProcessErrorStateRecord.java index 83caf0f6048a..2517c9c1ea4b 100644 --- a/services/core/java/com/android/server/am/ProcessErrorStateRecord.java +++ b/services/core/java/com/android/server/am/ProcessErrorStateRecord.java @@ -348,7 +348,8 @@ class ProcessErrorStateRecord { if (mService.mTraceErrorLogger != null && mService.mTraceErrorLogger.isAddErrorIdEnabled()) { errorId = mService.mTraceErrorLogger.generateErrorId(); - mService.mTraceErrorLogger.addErrorIdToTrace(mApp.processName, errorId); + mService.mTraceErrorLogger.addProcessInfoAndErrorIdToTrace( + mApp.processName, pid, errorId); mService.mTraceErrorLogger.addSubjectToTrace(annotation, errorId); } else { errorId = null; diff --git a/services/core/java/com/android/server/am/TraceErrorLogger.java b/services/core/java/com/android/server/am/TraceErrorLogger.java index ec0587f721d4..ea6524811755 100644 --- a/services/core/java/com/android/server/am/TraceErrorLogger.java +++ b/services/core/java/com/android/server/am/TraceErrorLogger.java @@ -45,12 +45,13 @@ public class TraceErrorLogger { * can be uniquely identified. We also add the same id to the dropbox entry of the error, so * that we can join the trace and the error server-side. * - * @param processName The process name to include in the error id. + * @param processName The name of the ANRing process. + * @param pid The pid of the ANRing process. * @param errorId The unique id with which to tag the trace. */ - public void addErrorIdToTrace(String processName, UUID errorId) { + public void addProcessInfoAndErrorIdToTrace(String processName, int pid, UUID errorId) { Trace.traceCounter(Trace.TRACE_TAG_ACTIVITY_MANAGER, - COUNTER_PREFIX + processName + "#" + errorId.toString(), + COUNTER_PREFIX + processName + " " + pid + "#" + errorId.toString(), PLACEHOLDER_VALUE); } |