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

Commit 531daf7b authored by JW Wang's avatar JW Wang
Browse files

Add logs to profile the performance of staged-install on boot (1/n)

In next CL, we will add tests to parse the logs to get the
duration of each staged-install sub tasks.

Bug: 187781115
Test: m
Change-Id: I6f62c6008d577726cd9b9f1b9893aea05231f036
parent d943571a
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -49,12 +49,14 @@ import android.os.Message;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.os.Trace;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.IntArray;
import android.util.Slog;
import android.util.SparseArray;
import android.util.TimingsTraceLog;
import android.util.apk.ApkSignatureVerifier;

import com.android.internal.annotations.GuardedBy;
@@ -551,7 +553,11 @@ public class StagingManager {
        }
        // The APEX part of the session is activated, proceed with the installation of APKs.
        Slog.d(TAG, "Installing APK packages in session " + session.sessionId());
        TimingsTraceLog t = new TimingsTraceLog(
                "StagingManagerTiming", Trace.TRACE_TAG_PACKAGE_MANAGER);
        t.traceBegin("installApksInSession");
        installApksInSession(session);
        t.traceEnd();

        Slog.d(TAG, "Marking session " + session.sessionId() + " as applied");
        session.setSessionApplied();
@@ -876,6 +882,10 @@ public class StagingManager {
    }

    void restoreSessions(@NonNull List<StagedSession> sessions, boolean isDeviceUpgrading) {
        TimingsTraceLog t = new TimingsTraceLog(
                "StagingManagerTiming", Trace.TRACE_TAG_PACKAGE_MANAGER);
        t.traceBegin("restoreSessions");

        // Do not resume sessions if boot completed already
        if (SystemProperties.getBoolean("sys.boot_completed", false)) {
            return;
@@ -1008,6 +1018,7 @@ public class StagingManager {
                        supportsCheckpoint, needsCheckpoint);
            }
        }
        t.traceEnd();
    }

    private void logFailedApexSessionsIfNecessary() {