diff options
| author | 2020-09-10 13:41:16 +0100 | |
|---|---|---|
| committer | 2020-09-10 13:41:16 +0100 | |
| commit | a1a00b9fa8401762807c86a666955a31adf43554 (patch) | |
| tree | 5327192097cad7967a5b9213189f57f5c7c4b56c | |
| parent | 0f9dd1d13ef9ab1377a1955554a867696c2da6fe (diff) | |
Log FrameTracker aggregated frame stats as trace counters
Bug: 162927074
Test: manual - collected perfetto trace and verified the counters are
available
Change-Id: If742a487aba1493828653b2a8bb8109ae92deacf
| -rw-r--r-- | core/java/com/android/internal/jank/FrameTracker.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/core/java/com/android/internal/jank/FrameTracker.java b/core/java/com/android/internal/jank/FrameTracker.java index e5c845059a0d..dd1978ebb026 100644 --- a/core/java/com/android/internal/jank/FrameTracker.java +++ b/core/java/com/android/internal/jank/FrameTracker.java @@ -45,8 +45,8 @@ public class FrameTracker implements HardwareRendererObserver.OnFrameMetricsAvai private long mBeginTime = UNKNOWN_TIMESTAMP; private long mEndTime = UNKNOWN_TIMESTAMP; private boolean mShouldTriggerTrace; - private long mTotalFramesCount = 0; - private long mMissedFramesCount = 0; + private int mTotalFramesCount = 0; + private int mMissedFramesCount = 0; private long mMaxFrameTimeNanos = 0; private Session mSession; @@ -124,6 +124,15 @@ public class FrameTracker implements HardwareRendererObserver.OnFrameMetricsAvai if (mEndTime != UNKNOWN_TIMESTAMP && vsyncTimestamp > mEndTime) { // The tracing has been ended, remove the observer, see if need to trigger perfetto. mRendererWrapper.removeObserver(mObserver); + + // Log the frame stats as counters to make them easily accessible in traces. + Trace.traceCounter(Trace.TRACE_TAG_APP, mSession.getName() + "#missedFrames", + mMissedFramesCount); + Trace.traceCounter(Trace.TRACE_TAG_APP, mSession.getName() + "#totalFrames", + mTotalFramesCount); + Trace.traceCounter(Trace.TRACE_TAG_APP, mSession.getName() + "#maxFrameTimeMillis", + (int) (mMaxFrameTimeNanos / 1_000_000)); + // Trigger perfetto if necessary. if (mShouldTriggerTrace) { if (DEBUG) { |