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

Commit 173dde6b authored by Oleg Blinnikov's avatar Oleg Blinnikov
Browse files

Add more tracing for the DisplayManagerService

Traces are needed to understand the performance of Display Topology.

Bug: 430368265
Bug: 430368267
Test: manual
Flag: EXEMPT trivial addition of tracing
Change-Id: Idc8276b5d224109ecfd6a0e85addb131b637864a
parent 34449d5d
Loading
Loading
Loading
Loading
+18 −7
Original line number Diff line number Diff line
@@ -1020,9 +1020,15 @@ public final class DisplayManagerService extends SystemService {
        synchronized (mSyncRoot) {
            final LogicalDisplay display = mLogicalDisplayMapper.getDisplayLocked(displayId);
            if (display != null) {
                Trace.traceBegin(Trace.TRACE_TAG_POWER,
                        "setDisplayInfoOverrideFromWindowManagerInternal");
                try {
                    if (display.setDisplayInfoOverrideFromWindowManagerLocked(info)) {
                        handleLogicalDisplayChangedLocked(display);
                    }
                } finally {
                    Trace.traceEnd(Trace.TRACE_TAG_POWER);
                }
            }
        }
    }
@@ -2612,6 +2618,8 @@ public final class DisplayManagerService extends SystemService {
    }

    private void handleLogicalDisplaySwappedLocked(@NonNull LogicalDisplay display) {
        Trace.traceBegin(Trace.TRACE_TAG_POWER, "handleLogicalDisplaySwappedLocked");
        try {
            handleLogicalDisplayChangedLocked(display);

            final int displayId = display.getDisplayIdLocked();
@@ -2619,6 +2627,9 @@ public final class DisplayManagerService extends SystemService {
                notifyDefaultDisplayDeviceUpdated(display);
            }
            mHandler.sendEmptyMessage(MSG_LOAD_BRIGHTNESS_CONFIGURATIONS);
        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_POWER);
        }
    }

    private void handleLogicalDisplayHdrSdrRatioChangedLocked(@NonNull LogicalDisplay display) {
+18 −6
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.server.display;

import android.hardware.display.DisplayTopology;
import android.hardware.display.DisplayTopologyGraph;
import android.os.Trace;
import android.util.IndentingPrintWriter;
import android.util.Pair;
import android.util.Slog;
@@ -224,10 +225,15 @@ class DisplayTopologyCoordinator {
    void setTopology(DisplayTopology topology) {
        final boolean isTopologySaved;
        synchronized (mSyncRoot) {
            Trace.traceBegin(Trace.TRACE_TAG_POWER, "setTopology");
            try {
                topology.normalize();
                mTopology = topology;
                sendTopologyUpdateLocked();
                isTopologySaved = mTopologyStore.saveTopology(topology);
            } finally {
                Trace.traceEnd(Trace.TRACE_TAG_POWER);
            }
        }

        if (isTopologySaved) {
@@ -318,8 +324,14 @@ class DisplayTopologyCoordinator {
    @GuardedBy("mSyncRoot")
    private void sendTopologyUpdateLocked() {
        DisplayTopology copy = mTopology.copy();
        mTopologyChangeExecutor.execute(() -> mOnTopologyChangedCallback.accept(
                new Pair<>(copy, copy.getGraph())));
        mTopologyChangeExecutor.execute(() -> {
            Trace.traceBegin(Trace.TRACE_TAG_POWER, "sendTopologyUpdateLocked");
            try {
                mOnTopologyChangedCallback.accept(new Pair<>(copy, copy.getGraph()));
            } finally {
                Trace.traceEnd(Trace.TRACE_TAG_POWER);
            }
        });
    }

    @VisibleForTesting