From 5237f47b82696e82d8607f12a6642c056a21bcde Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Tue, 22 Nov 2016 11:02:07 -0800 Subject: [PATCH] Use push/peek/pop for operations on stack Test: manual - device boots, metrics are logged to system/event log Bug: 32780225 Change-Id: If7e51c50767d8fd9d5da44f61dbc5bfe56196894 --- core/java/android/util/BootTimingsTraceLog.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/java/android/util/BootTimingsTraceLog.java b/core/java/android/util/BootTimingsTraceLog.java index c782ad7f381a6..2e4319cca0b9a 100644 --- a/core/java/android/util/BootTimingsTraceLog.java +++ b/core/java/android/util/BootTimingsTraceLog.java @@ -52,12 +52,11 @@ public class BootTimingsTraceLog { if (!DEBUG_BOOT_TIME) { return; } - // Pop the top element without throwing NoSuchElementException - Pair event = mStartTimes.pollFirst(); - if (event == null) { + if (mStartTimes.peek() == null) { Slog.w(mTag, "traceEnd called more times than traceBegin"); return; } + Pair event = mStartTimes.pop(); // Log the duration so it can be parsed by external tools for performance reporting Slog.d(mTag, event.first + " took to complete: " + (SystemClock.elapsedRealtime() - event.second) + "ms");