diff options
| author | 2023-10-19 10:25:46 +0000 | |
|---|---|---|
| committer | 2023-10-19 14:45:58 +0000 | |
| commit | 3239cc68d5de74d224566c5d44d7108c83c7e8ea (patch) | |
| tree | f778498cdb79fdada5620ea45a20f29829c7246b | |
| parent | 4bb1c57af95d86c2300089f9a4072e5935489e7a (diff) | |
Enable all displaymanager logging
Enable all logging in display manager.
Add traces to collect screen state.
Bug: 284687313
Test: atest DisplayServiceTests
Test: logcat | grep display -i
Change-Id: I7ff3e45cb44889fa0630805af1e0a2d223ec2f27
3 files changed, 44 insertions, 17 deletions
diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java index 8decd50664b3..2b5f5ee35a26 100644 --- a/core/java/android/hardware/display/DisplayManagerGlobal.java +++ b/core/java/android/hardware/display/DisplayManagerGlobal.java @@ -220,7 +220,7 @@ public final class DisplayManagerGlobal { registerCallbackIfNeededLocked(); - if (DEBUG || extraLogging()) { + if (DEBUG) { Log.d(TAG, "getDisplayInfo: displayId=" + displayId + ", info=" + info); } return info; @@ -402,7 +402,7 @@ public final class DisplayManagerGlobal { } private void maybeLogAllDisplayListeners() { - if (!sExtraDisplayListenerLogging) { + if (!extraLogging()) { return; } @@ -1222,7 +1222,7 @@ public final class DisplayManagerGlobal { private void handleMessage(Message msg) { if (extraLogging()) { - Slog.i(TAG, "DisplayListenerDelegate(" + eventToString(msg.what) + Slog.i(TAG, "DLD(" + eventToString(msg.what) + ", display=" + msg.arg1 + ", mEventsMask=" + Long.toBinaryString(mEventsMask) + ", mPackageName=" + mPackageName @@ -1231,9 +1231,10 @@ public final class DisplayManagerGlobal { } if (DEBUG) { Trace.beginSection( - "DisplayListenerDelegate(" + eventToString(msg.what) + TextUtils.trimToSize( + "DLD(" + eventToString(msg.what) + ", display=" + msg.arg1 - + ", listener=" + mListener.getClass() + ")"); + + ", listener=" + mListener.getClass() + ")", 127)); } switch (msg.what) { case EVENT_DISPLAY_ADDED: @@ -1422,11 +1423,12 @@ public final class DisplayManagerGlobal { sExtraDisplayListenerLogging = !TextUtils.isEmpty(EXTRA_LOGGING_PACKAGE_NAME) && EXTRA_LOGGING_PACKAGE_NAME.equals(sCurrentPackageName); } - return sExtraDisplayListenerLogging; + // TODO: b/306170135 - return sExtraDisplayListenerLogging instead + return true; } private static boolean extraLogging() { - return sExtraDisplayListenerLogging && EXTRA_LOGGING_PACKAGE_NAME.equals( - sCurrentPackageName); + // TODO: b/306170135 - return sExtraDisplayListenerLogging & package name check instead + return true; } } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 52b7cb18259f..50eeed81e16b 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1051,7 +1051,8 @@ public final class ViewRootImpl implements ViewParent, mDisplay = display; mBasePackageName = context.getBasePackageName(); final String name = DisplayProperties.debug_vri_package().orElse(null); - mExtraDisplayListenerLogging = !TextUtils.isEmpty(name) && name.equals(mBasePackageName); + // TODO: b/306170135 - return to using textutils check on package name. + mExtraDisplayListenerLogging = true; mThread = Thread.currentThread(); mLocation = new WindowLeaked(null); mLocation.fillInStackTrace(); @@ -2038,6 +2039,10 @@ public final class ViewRootImpl implements ViewParent, Slog.i(mTag, "DisplayState - old: " + oldDisplayState + ", new: " + newDisplayState); } + if (Trace.isTagEnabled(Trace.TRACE_TAG_WINDOW_MANAGER)) { + Trace.traceCounter(Trace.TRACE_TAG_WINDOW_MANAGER, + "vri#screenState[" + mTag + "] state=", newDisplayState); + } if (oldDisplayState != newDisplayState) { mAttachInfo.mDisplayState = newDisplayState; pokeDrawLockIfNeeded(); diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index cb2302a60248..a7889684aeea 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -586,7 +586,8 @@ public final class DisplayManagerService extends SystemService { mSystemReady = false; mConfigParameterProvider = new DeviceConfigParameterProvider(DeviceConfigInterface.REAL); mExtraDisplayLoggingPackageName = DisplayProperties.debug_vri_package().orElse(null); - mExtraDisplayEventLogging = !TextUtils.isEmpty(mExtraDisplayLoggingPackageName); + // TODO: b/306170135 - return TextUtils package name check instead + mExtraDisplayEventLogging = true; } public void setupSchedulerPolicies() { @@ -2933,8 +2934,15 @@ public final class DisplayManagerService extends SystemService { // Send a display event if the display is enabled private void sendDisplayEventIfEnabledLocked(@NonNull LogicalDisplay display, @DisplayEvent int event) { + final boolean displayIsEnabled = display.isEnabledLocked(); + if (Trace.isTagEnabled(Trace.TRACE_TAG_POWER)) { + Trace.instant(Trace.TRACE_TAG_POWER, + "sendDisplayEventLocked#event=" + event + ",displayEnabled=" + + displayIsEnabled); + } + // Only send updates outside of DisplayManagerService for enabled displays - if (display.isEnabledLocked()) { + if (displayIsEnabled) { sendDisplayEventLocked(display, event); } else if (mExtraDisplayEventLogging) { Slog.i(TAG, "Not Sending Display Event; display is not enabled: " + display); @@ -2991,7 +2999,11 @@ public final class DisplayManagerService extends SystemService { + displayId + ", event=" + event + (uids != null ? ", uids=" + uids : "")); } - + if (Trace.isTagEnabled(Trace.TRACE_TAG_POWER)) { + Trace.instant(Trace.TRACE_TAG_POWER, + "deliverDisplayEvent#event=" + event + ",displayId=" + + displayId + (uids != null ? ", uids=" + uids : "")); + } // Grab the lock and copy the callbacks. final int count; synchronized (mSyncRoot) { @@ -3031,7 +3043,8 @@ public final class DisplayManagerService extends SystemService { } private boolean extraLogging(String packageName) { - return mExtraDisplayEventLogging && mExtraDisplayLoggingPackageName.equals(packageName); + // TODO: b/306170135 - return mExtraDisplayLoggingPackageName & package name check instead + return true; } // Runs on Handler thread. @@ -3498,10 +3511,13 @@ public final class DisplayManagerService extends SystemService { @Override public void binderDied() { - if (DEBUG || mExtraDisplayEventLogging && mExtraDisplayLoggingPackageName.equals( - mPackageName)) { + if (DEBUG || extraLogging(mPackageName)) { Slog.d(TAG, "Display listener for pid " + mPid + " died."); } + if (Trace.isTagEnabled(Trace.TRACE_TAG_POWER)) { + Trace.instant(Trace.TRACE_TAG_POWER, + "displayManagerBinderDied#mPid=" + mPid); + } onCallbackDied(this); } @@ -3510,11 +3526,15 @@ public final class DisplayManagerService extends SystemService { */ public boolean notifyDisplayEventAsync(int displayId, @DisplayEvent int event) { if (!shouldSendEvent(event)) { - if (mExtraDisplayEventLogging && mExtraDisplayLoggingPackageName.equals( - mPackageName)) { + if (extraLogging(mPackageName)) { Slog.i(TAG, "Not sending displayEvent: " + event + " due to mask:" + mEventsMask); } + if (Trace.isTagEnabled(Trace.TRACE_TAG_POWER)) { + Trace.instant(Trace.TRACE_TAG_POWER, + "notifyDisplayEventAsync#notSendingEvent=" + event + ",mEventsMask=" + + mEventsMask); + } return true; } |