Loading core/java/com/android/internal/jank/FrameTracker.java +12 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.annotation.Nullable; import android.graphics.HardwareRendererObserver; import android.os.Handler; import android.os.Trace; import android.text.TextUtils; import android.util.Log; import android.util.SparseArray; import android.view.Choreographer; Loading Loading @@ -188,6 +189,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener if (mBeginVsyncId != INVALID_ID) { mSurfaceControlWrapper.addJankStatsListener( FrameTracker.this, mSurfaceControl); markEvent("FT#deferMonitoring"); postTraceStartMarker(); } } Loading Loading @@ -241,8 +243,9 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener } if (mSurfaceControl != null) { if (mDeferMonitoring) { markEvent("FT#deferMonitoring"); // Normal case, we begin the instrument from the very beginning, // except the first frame. // will exclude the first frame. postTraceStartMarker(); } else { // If we don't begin the instrument from the very beginning, Loading Loading @@ -272,6 +275,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener return; } mTracingStarted = true; markEvent("FT#begin"); Trace.beginAsyncSection(mSession.getName(), (int) mBeginVsyncId); } } Loading @@ -295,6 +299,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener Log.d(TAG, "end: " + mSession.getName() + ", end=" + mEndVsyncId + ", reason=" + reason); } markEvent("FT#end#" + reason); Trace.endAsyncSection(mSession.getName(), (int) mBeginVsyncId); mSession.setReason(reason); Loading Loading @@ -322,6 +327,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener reason == REASON_CANCEL_NOT_BEGUN || reason == REASON_CANCEL_SAME_VSYNC; if (mCancelled || (mEndVsyncId != INVALID_ID && !cancelFromEnd)) return false; mCancelled = true; markEvent("FT#cancel#" + reason); // We don't need to end the trace section if it never begun. if (mTracingStarted) { Trace.endAsyncSection(mSession.getName(), (int) mBeginVsyncId); Loading @@ -343,6 +349,11 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener } } private void markEvent(String desc) { Trace.beginSection(TextUtils.formatSimple("%s#%s", mSession.getName(), desc)); Trace.endSection(); } private void notifyCujEvent(String action) { if (mListener == null) return; mListener.onCujEvents(mSession, action); Loading Loading
core/java/com/android/internal/jank/FrameTracker.java +12 −1 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.annotation.Nullable; import android.graphics.HardwareRendererObserver; import android.os.Handler; import android.os.Trace; import android.text.TextUtils; import android.util.Log; import android.util.SparseArray; import android.view.Choreographer; Loading Loading @@ -188,6 +189,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener if (mBeginVsyncId != INVALID_ID) { mSurfaceControlWrapper.addJankStatsListener( FrameTracker.this, mSurfaceControl); markEvent("FT#deferMonitoring"); postTraceStartMarker(); } } Loading Loading @@ -241,8 +243,9 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener } if (mSurfaceControl != null) { if (mDeferMonitoring) { markEvent("FT#deferMonitoring"); // Normal case, we begin the instrument from the very beginning, // except the first frame. // will exclude the first frame. postTraceStartMarker(); } else { // If we don't begin the instrument from the very beginning, Loading Loading @@ -272,6 +275,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener return; } mTracingStarted = true; markEvent("FT#begin"); Trace.beginAsyncSection(mSession.getName(), (int) mBeginVsyncId); } } Loading @@ -295,6 +299,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener Log.d(TAG, "end: " + mSession.getName() + ", end=" + mEndVsyncId + ", reason=" + reason); } markEvent("FT#end#" + reason); Trace.endAsyncSection(mSession.getName(), (int) mBeginVsyncId); mSession.setReason(reason); Loading Loading @@ -322,6 +327,7 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener reason == REASON_CANCEL_NOT_BEGUN || reason == REASON_CANCEL_SAME_VSYNC; if (mCancelled || (mEndVsyncId != INVALID_ID && !cancelFromEnd)) return false; mCancelled = true; markEvent("FT#cancel#" + reason); // We don't need to end the trace section if it never begun. if (mTracingStarted) { Trace.endAsyncSection(mSession.getName(), (int) mBeginVsyncId); Loading @@ -343,6 +349,11 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener } } private void markEvent(String desc) { Trace.beginSection(TextUtils.formatSimple("%s#%s", mSession.getName(), desc)); Trace.endSection(); } private void notifyCujEvent(String action) { if (mListener == null) return; mListener.onCujEvents(mSession, action); Loading