diff options
-rw-r--r-- | services/usage/java/com/android/server/usage/UserUsageStatsService.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java index 4efe0b543b18..7d38e8251b53 100644 --- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java @@ -64,6 +64,9 @@ class UserUsageStatsService { private String mLastBackgroundedPackage; private final int mUserId; + // STOPSHIP: Temporary member variable for debugging b/110930764. + private UsageEvents.Event mLastEvent; + private static final long[] INTERVAL_LENGTH = new long[] { UnixCalendar.DAY_IN_MILLIS, UnixCalendar.WEEK_IN_MILLIS, UnixCalendar.MONTH_IN_MILLIS, UnixCalendar.YEAR_IN_MILLIS @@ -156,6 +159,8 @@ class UserUsageStatsService { + eventToString(event.mEventType)); } + mLastEvent = new UsageEvents.Event(event); + if (event.mTimeStamp >= mDailyExpiryDate.getTimeInMillis()) { // Need to rollover rolloverStats(event.mTimeStamp); @@ -306,6 +311,36 @@ class UserUsageStatsService { Slog.d(TAG, mLogPrefix + "Requesting stats after " + beginTime + " but latest is " + currentStats.endTime); } + + // STOPSHIP: Temporary logging for b/110930764. + if (intervalType == UsageStatsManager.INTERVAL_DAILY + && mLastEvent.mTimeStamp >= beginTime) { + final IntervalStats diskStats = mDatabase.getLatestUsageStats( + UsageStatsManager.INTERVAL_DAILY); + StringBuilder sb = new StringBuilder(256); + sb.append("Last 24 hours of UsageStats missing! timeRange : "); + sb.append(beginTime); + sb.append(", "); + sb.append(endTime); + sb.append("\nLast reported Usage Event time : "); + sb.append(mLastEvent.mTimeStamp); + if (currentStats == null) { + sb.append("\nNo in memory event stats available."); + } else { + sb.append("\nLast in memory event time : "); + sb.append(currentStats.endTime); + sb.append("\nLast save time: "); + sb.append(currentStats.lastTimeSaved); + } + if (diskStats == null) { + sb.append("\nNo on disk event stats available."); + } else { + sb.append("\nLast on disk event time : "); + sb.append(diskStats.endTime); + } + Slog.wtf(TAG, sb.toString()); + } + // Nothing newer available. return null; } |