Add mechanism to trace specific sf tx changes without rebuilding fw
- It's often that we see something affecting a surface, but there's
no way to know who/what code is updating the surface without adding
logging to SurfaceControl.Transaction to dump the trace and
rebuilding with the logs in place. This cl uses two sysprops
to define a call/surface name filter to dynamically dump call
stacks for specific updates in all processes. This only applies
to eng/userdebug builds.
ie.
// set
adb shell setprop persist.wm.debug.sc.tx.log_match_call setAlpha
adb shell setprop persist.wm.debug.sc.tx.log_match_name com.android.systemui
adb reboot
adb logcat -s "SurfaceControlRegistry"
// unset
adb shell setprop persist.wm.debug.sc.tx.log_match_call \"\"
adb shell setprop persist.wm.debug.sc.tx.log_match_name \"\"
adb reboot
adb logcat -s "SurfaceControlRegistry"
- Also simplify checks in SC by always having a no-op implementation
Bug: 266978825
Test: adb shell setprop persist.wm.debug.sc.tx.log_match_call <call>
adb shell setprop persist.wm.debug.sc.tx.log_match_name <name>
adb reboot
adb logcat
Test: atest FrameworksCoreTests:android.view.SurfaceControlRegistryTests
Change-Id: I2a2ef5e8bfae1a748df1a32ce7969de4ee8d9645
Signed-off-by: Winson Chung <winsonc@google.com>
Loading
Please register or sign in to comment