summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Marcin Oczeretko <marcinoc@google.com> 2020-09-10 13:41:16 +0100
committer Marcin Oczeretko <marcinoc@google.com> 2020-09-10 13:41:16 +0100
commita1a00b9fa8401762807c86a666955a31adf43554 (patch)
tree5327192097cad7967a5b9213189f57f5c7c4b56c
parent0f9dd1d13ef9ab1377a1955554a867696c2da6fe (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.java13
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) {