diff options
| author | 2015-02-24 20:17:43 +0000 | |
|---|---|---|
| committer | 2015-02-24 20:17:44 +0000 | |
| commit | a9e1c4e54044c59f6001a6d9e6c01ffb07cfc47c (patch) | |
| tree | e9b6142fafeb993375fcdab76669f91dc0e79177 | |
| parent | 273fd8e49b3292f48ea64f0e32fd0ea7a9c8dc50 (diff) | |
| parent | 9fb3fd1d666aac3e8d889bead4109690b1484aac (diff) | |
Merge "To help assess latency, dump the time a broadcast was enqueued."
| -rw-r--r-- | services/core/java/com/android/server/am/BroadcastQueue.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/BroadcastRecord.java | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 7ab379487117..6a29d8565aae 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -187,10 +187,12 @@ public final class BroadcastQueue { public void enqueueParallelBroadcastLocked(BroadcastRecord r) { mParallelBroadcasts.add(r); + r.enqueueClockTime = System.currentTimeMillis(); } public void enqueueOrderedBroadcastLocked(BroadcastRecord r) { mOrderedBroadcasts.add(r); + r.enqueueClockTime = System.currentTimeMillis(); } public final boolean replaceParallelBroadcastLocked(BroadcastRecord r) { diff --git a/services/core/java/com/android/server/am/BroadcastRecord.java b/services/core/java/com/android/server/am/BroadcastRecord.java index b2cfd7a87242..9a4d7a0fb893 100644 --- a/services/core/java/com/android/server/am/BroadcastRecord.java +++ b/services/core/java/com/android/server/am/BroadcastRecord.java @@ -52,6 +52,7 @@ final class BroadcastRecord extends Binder { final int appOp; // an app op that is associated with this broadcast final List receivers; // contains BroadcastFilter and ResolveInfo IIntentReceiver resultTo; // who receives final result if non-null + long enqueueClockTime; // the clock time the broadcast was enqueued long dispatchTime; // when dispatch started on this set of receivers long dispatchClockTime; // the clock time the dispatch started long receiverTime; // when current receiver started for timeouts. @@ -102,7 +103,9 @@ final class BroadcastRecord extends Binder { pw.print(prefix); pw.print("requiredPermission="); pw.print(requiredPermission); pw.print(" appOp="); pw.println(appOp); } - pw.print(prefix); pw.print("dispatchClockTime="); + pw.print(prefix); pw.print("enqueueClockTime="); + pw.print(new Date(enqueueClockTime)); + pw.print(" dispatchClockTime="); pw.println(new Date(dispatchClockTime)); pw.print(prefix); pw.print("dispatchTime="); TimeUtils.formatDuration(dispatchTime, now, pw); |