Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/tracing/PerfettoTransitionTracer.java +47 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.wm.shell.transition.tracing; import android.internal.perfetto.protos.PerfettoTrace; import android.os.SystemClock; import android.os.Trace; import android.tracing.perfetto.DataSourceInstance; import android.tracing.perfetto.DataSourceParams; import android.tracing.perfetto.InitArguments; Loading Loading @@ -58,6 +59,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logDispatched"); try { doLogDispatched(transitionId, handler); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogDispatched(int transitionId, Transitions.TransitionHandler handler) { mDataSource.trace(ctx -> { final int handlerId = getHandlerId(handler, ctx); Loading Loading @@ -97,6 +107,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logMergeRequested"); try { doLogMergeRequested(mergeRequestedTransitionId, playingTransitionId); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogMergeRequested(int mergeRequestedTransitionId, int playingTransitionId) { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); final long token = os.start(PerfettoTrace.TracePacket.SHELL_TRANSITION); Loading @@ -120,10 +139,19 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logMerged"); try { doLogMerged(mergedTransitionId, playingTransitionId); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogMerged(int mergeRequestedTransitionId, int playingTransitionId) { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); final long token = os.start(PerfettoTrace.TracePacket.SHELL_TRANSITION); os.write(PerfettoTrace.ShellTransition.ID, mergedTransitionId); os.write(PerfettoTrace.ShellTransition.ID, mergeRequestedTransitionId); os.write(PerfettoTrace.ShellTransition.MERGE_TIME_NS, SystemClock.elapsedRealtimeNanos()); os.write(PerfettoTrace.ShellTransition.MERGE_TARGET, playingTransitionId); Loading @@ -142,6 +170,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logAborted"); try { doLogAborted(transitionId); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogAborted(int transitionId) { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); final long token = os.start(PerfettoTrace.TracePacket.SHELL_TRANSITION); Loading @@ -157,6 +194,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { } private void onFlush() { Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "onFlush"); try { doOnFlush(); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doOnFlush() { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading services/core/java/com/android/server/wm/PerfettoTransitionTracer.java +38 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.server.wm; import android.annotation.NonNull; import android.internal.perfetto.protos.PerfettoTrace; import android.os.SystemClock; import android.os.Trace; import android.tracing.perfetto.DataSourceParams; import android.tracing.perfetto.InitArguments; import android.tracing.perfetto.Producer; Loading Loading @@ -57,6 +58,16 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logSentTransition"); try { doLogSentTransition(transition, targets); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogSentTransition( Transition transition, ArrayList<Transition.ChangeInfo> targets) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading Loading @@ -91,6 +102,15 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logFinishedTransition"); try { doLogFinishTransition(transition); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogFinishTransition(Transition transition) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading @@ -114,6 +134,15 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logAbortedTransition"); try { doLogAbortedTransition(transition); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogAbortedTransition(Transition transition) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading @@ -131,6 +160,15 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logRemovingStartingWindow"); try { doLogRemovingStartingWindow(startingData); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } public void doLogRemovingStartingWindow(@NonNull StartingData startingData) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/tracing/PerfettoTransitionTracer.java +47 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.wm.shell.transition.tracing; import android.internal.perfetto.protos.PerfettoTrace; import android.os.SystemClock; import android.os.Trace; import android.tracing.perfetto.DataSourceInstance; import android.tracing.perfetto.DataSourceParams; import android.tracing.perfetto.InitArguments; Loading Loading @@ -58,6 +59,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logDispatched"); try { doLogDispatched(transitionId, handler); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogDispatched(int transitionId, Transitions.TransitionHandler handler) { mDataSource.trace(ctx -> { final int handlerId = getHandlerId(handler, ctx); Loading Loading @@ -97,6 +107,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logMergeRequested"); try { doLogMergeRequested(mergeRequestedTransitionId, playingTransitionId); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogMergeRequested(int mergeRequestedTransitionId, int playingTransitionId) { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); final long token = os.start(PerfettoTrace.TracePacket.SHELL_TRANSITION); Loading @@ -120,10 +139,19 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logMerged"); try { doLogMerged(mergedTransitionId, playingTransitionId); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogMerged(int mergeRequestedTransitionId, int playingTransitionId) { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); final long token = os.start(PerfettoTrace.TracePacket.SHELL_TRANSITION); os.write(PerfettoTrace.ShellTransition.ID, mergedTransitionId); os.write(PerfettoTrace.ShellTransition.ID, mergeRequestedTransitionId); os.write(PerfettoTrace.ShellTransition.MERGE_TIME_NS, SystemClock.elapsedRealtimeNanos()); os.write(PerfettoTrace.ShellTransition.MERGE_TARGET, playingTransitionId); Loading @@ -142,6 +170,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logAborted"); try { doLogAborted(transitionId); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogAborted(int transitionId) { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); final long token = os.start(PerfettoTrace.TracePacket.SHELL_TRANSITION); Loading @@ -157,6 +194,15 @@ public class PerfettoTransitionTracer implements TransitionTracer { } private void onFlush() { Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "onFlush"); try { doOnFlush(); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doOnFlush() { mDataSource.trace(ctx -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading
services/core/java/com/android/server/wm/PerfettoTransitionTracer.java +38 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.server.wm; import android.annotation.NonNull; import android.internal.perfetto.protos.PerfettoTrace; import android.os.SystemClock; import android.os.Trace; import android.tracing.perfetto.DataSourceParams; import android.tracing.perfetto.InitArguments; import android.tracing.perfetto.Producer; Loading Loading @@ -57,6 +58,16 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logSentTransition"); try { doLogSentTransition(transition, targets); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogSentTransition( Transition transition, ArrayList<Transition.ChangeInfo> targets) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading Loading @@ -91,6 +102,15 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logFinishedTransition"); try { doLogFinishTransition(transition); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogFinishTransition(Transition transition) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading @@ -114,6 +134,15 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logAbortedTransition"); try { doLogAbortedTransition(transition); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } private void doLogAbortedTransition(Transition transition) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading @@ -131,6 +160,15 @@ class PerfettoTransitionTracer implements TransitionTracer { return; } Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "logRemovingStartingWindow"); try { doLogRemovingStartingWindow(startingData); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } } public void doLogRemovingStartingWindow(@NonNull StartingData startingData) { mDataSource.trace((ctx) -> { final ProtoOutputStream os = ctx.newTracePacket(); Loading