diff options
| author | 2023-07-25 17:01:55 -0400 | |
|---|---|---|
| committer | 2023-08-08 16:14:35 -0400 | |
| commit | d606d979a0983df53b68baffb2b82010d4d8272a (patch) | |
| tree | 4efbeb3becdc783bcdd763f479489f78f5390d8a | |
| parent | 8aef12b550ea7a87066c15fdd685fff14ea27c19 (diff) | |
Add Traces for sysui dumps to highlight slow dumpables.
Test: perfetto ; dumpsysui bugreport-critical
Bug: 292221335
Change-Id: I4a5397d3cf6f775f685ece68ec1fcd7cb267aaa2
4 files changed, 11 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dump/DumpHandler.kt b/packages/SystemUI/src/com/android/systemui/dump/DumpHandler.kt index ae40f7e8d7c0..7150d69e130d 100644 --- a/packages/SystemUI/src/com/android/systemui/dump/DumpHandler.kt +++ b/packages/SystemUI/src/com/android/systemui/dump/DumpHandler.kt @@ -432,9 +432,11 @@ constructor( } private inline fun PrintWriter.wrapSection(entry: DumpsysEntry, block: () -> Unit) { + Trace.beginSection(entry.name) preamble(entry) val dumpTime = measureTimeMillis(block) footer(entry, dumpTime) + Trace.endSection() } /** diff --git a/packages/SystemUI/src/com/android/systemui/dump/DumpsysTableLogger.kt b/packages/SystemUI/src/com/android/systemui/dump/DumpsysTableLogger.kt index f7e6b98a0f06..c2f46b96dbf7 100644 --- a/packages/SystemUI/src/com/android/systemui/dump/DumpsysTableLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/dump/DumpsysTableLogger.kt @@ -16,6 +16,7 @@ package com.android.systemui.dump +import android.os.Trace import java.io.PrintWriter /** @@ -83,10 +84,12 @@ class DumpsysTableLogger( ) { fun printTableData(pw: PrintWriter) { + Trace.beginSection("DumpsysTableLogger#printTableData") printSectionStart(pw) printSchema(pw) printData(pw) printSectionEnd(pw) + Trace.endSection() } private fun printSectionStart(pw: PrintWriter) { diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 35fd98cf34c6..f9ca05ae02fb 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -3447,11 +3447,13 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump ipw.print("mIgnoreXTouchSlop="); ipw.println(mIgnoreXTouchSlop); ipw.print("mExpandLatencyTracking="); ipw.println(mExpandLatencyTracking); ipw.println("gestureExclusionRect:" + calculateGestureExclusionRect()); + Trace.beginSection("Table<DownEvents>"); new DumpsysTableLogger( TAG, NPVCDownEventState.TABLE_HEADERS, mLastDownEvents.toList() ).printTableData(ipw); + Trace.endSection(); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java index 1f401fbbe6c1..d2b62eb3779d 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java @@ -840,13 +840,17 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW pw.println(" mDeferWindowLayoutParams=" + mDeferWindowLayoutParams); pw.println(mCurrentState); if (mWindowRootView != null && mWindowRootView.getViewRootImpl() != null) { + Trace.beginSection("mWindowRootView.dump()"); mWindowRootView.getViewRootImpl().dump(" ", pw); + Trace.endSection(); } + Trace.beginSection("Table<State>"); new DumpsysTableLogger( TAG, NotificationShadeWindowState.TABLE_HEADERS, mStateBuffer.toList() ).printTableData(pw); + Trace.endSection(); } @Override |