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

Commit 36862fe3 authored by Chris Li's avatar Chris Li
Browse files

Add trace for ClientTransaction dispatch

Bug: 260873529
Test: capture perfetto trace
Change-Id: Ib8540eb0b028bd0e97562d8d1975c90ebfa860af
parent c15578db
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.os.IBinder;
import android.os.Process;
import android.os.Trace;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.IntArray;
@@ -87,6 +88,8 @@ public class TransactionExecutor {
            Slog.d(TAG, transactionToString(transaction, mTransactionHandler));
        }

        Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "clientTransactionExecuted");
        try {
            if (transaction.getTransactionItems() != null) {
                executeTransactionItems(transaction);
            } else {
@@ -94,6 +97,9 @@ public class TransactionExecutor {
                executeCallbacks(transaction);
                executeLifecycleState(transaction);
            }
        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
        }

        if (!mContextToPreChangedConfigMap.isEmpty()) {
            // Whether this transaction should trigger DisplayListener#onDisplayChanged.
+4 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.app.servertransaction.ClientTransactionItem;
import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.Trace;
import android.util.ArrayMap;
import android.util.Slog;

@@ -146,9 +147,10 @@ class ClientLifecycleManager {

    /** Executes all the pending transactions. */
    void dispatchPendingTransactions() {
        if (!Flags.bundleClientTransactionFlag()) {
        if (!Flags.bundleClientTransactionFlag() || mPendingTransactions.isEmpty()) {
            return;
        }
        Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "clientTransactionsDispatched");
        final int size = mPendingTransactions.size();
        for (int i = 0; i < size; i++) {
            final ClientTransaction transaction = mPendingTransactions.valueAt(i);
@@ -159,6 +161,7 @@ class ClientLifecycleManager {
            }
        }
        mPendingTransactions.clear();
        Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
    }

    /**