Add tracing for pending queue size
Change-Id: Ib31c2245feca31d0276ef1ebf6e6d237d0297671
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 8808af0..f06387c 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -245,8 +245,10 @@
// Input event queue.
QueuedInputEvent mFirstPendingInputEvent;
+ int mPendingInputEventCount;
QueuedInputEvent mCurrentInputEvent;
boolean mProcessInputEventsScheduled;
+ String mPendingInputEventQueueLengthCounterName = "pq";
boolean mWindowAttributesChanged = false;
int mWindowAttributesChangesFlag = 0;
@@ -642,6 +644,8 @@
if (view.getImportantForAccessibility() == View.IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
}
+
+ mPendingInputEventQueueLengthCounterName = "pq:" + attrs.getTitle();
}
}
}
@@ -4427,6 +4431,9 @@
}
last.mNext = q;
}
+ mPendingInputEventCount += 1;
+ Trace.traceCounter(Trace.TRACE_TAG_INPUT, mPendingInputEventQueueLengthCounterName,
+ mPendingInputEventCount);
if (processImmediately) {
doProcessInputEvents();
@@ -4451,6 +4458,10 @@
q.mNext = null;
mCurrentInputEvent = q;
+ mPendingInputEventCount -= 1;
+ Trace.traceCounter(Trace.TRACE_TAG_INPUT, mPendingInputEventQueueLengthCounterName,
+ mPendingInputEventCount);
+
final int result = deliverInputEvent(q);
if (result != EVENT_IN_PROGRESS) {
finishCurrentInputEvent(result == EVENT_HANDLED);