Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0236469 authored by Ben Miles's avatar Ben Miles Committed by Cherrypicker Worker
Browse files

Include pid of ANRing process in perfetto traces

Bug: 271415918
Test: Tested locally
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b0a2424f995722f451466b60d6f870b14383b3c2)
Merged-In: I4d666b37fed5a5d0015a39d13695ef7a5046fd59
Change-Id: I4d666b37fed5a5d0015a39d13695ef7a5046fd59
parent 6f965bea
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);
        }

+2 −1
Original line number Diff line number Diff line
@@ -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;
+4 −3
Original line number Diff line number Diff line
@@ -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);
    }