Merge "Add some debug logging to UsageStatsService."

This commit is contained in:
Sudheer Shanka
2022-01-27 22:40:13 +00:00
committed by Android (Google) Code Review
2 changed files with 32 additions and 0 deletions

View File

@@ -16,6 +16,8 @@
package com.android.server.usage;
import static com.android.server.usage.UsageStatsService.DEBUG_RESPONSE_STATS;
import android.annotation.ElapsedRealtimeLong;
import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -23,9 +25,11 @@ import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.usage.BroadcastResponseStats;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.LongSparseArray;
import android.util.Slog;
import android.util.SparseArray;
import android.util.TimeUtils;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.IndentingPrintWriter;
@@ -69,6 +73,12 @@ class BroadcastResponseStatsTracker {
void reportBroadcastDispatchEvent(int sourceUid, @NonNull String targetPackage,
UserHandle targetUser, long idForResponseEvent,
@ElapsedRealtimeLong long timestampMs) {
if (DEBUG_RESPONSE_STATS) {
Slog.d(TAG, TextUtils.formatSimple(
"reportBroadcastDispatchEvent; srcUid=%d, tgtPkg=%s, tgtUsr=%d, id=%d, ts=%s",
sourceUid, targetPackage, targetUser, idForResponseEvent,
TimeUtils.formatDuration(timestampMs)));
}
synchronized (mLock) {
final LongSparseArray<BroadcastEvent> broadcastEvents =
getOrCreateBroadcastEventsLocked(targetPackage, targetUser);
@@ -99,6 +109,12 @@ class BroadcastResponseStatsTracker {
private void reportNotificationEvent(@NotificationEvent int event,
@NonNull String packageName, UserHandle user, @ElapsedRealtimeLong long timestampMs) {
if (DEBUG_RESPONSE_STATS) {
Slog.d(TAG, TextUtils.formatSimple(
"reportNotificationEvent; event=<%s>, pkg=%s, usr=%d, ts=%s",
notificationEventToString(event), packageName, user.getIdentifier(),
TimeUtils.formatDuration(timestampMs)));
}
// TODO (206518114): Store last N events to dump for debugging purposes.
synchronized (mLock) {
final LongSparseArray<BroadcastEvent> broadcastEvents =
@@ -288,6 +304,20 @@ class BroadcastResponseStatsTracker {
return userResponseStats.getOrCreateBroadcastResponseStats(broadcastEvent);
}
@NonNull
private String notificationEventToString(@NotificationEvent int event) {
switch (event) {
case NOTIFICATION_EVENT_POSTED:
return "posted";
case NOTIFICATION_EVENT_UPDATED:
return "updated";
case NOTIFICATION_EVENT_CANCELLED:
return "cancelled";
default:
return String.valueOf(event);
}
}
void dump(@NonNull IndentingPrintWriter ipw) {
ipw.println("Broadcast response stats:");
ipw.increaseIndent();

View File

@@ -89,6 +89,7 @@ import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.AtomicFile;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
@@ -141,6 +142,7 @@ public class UsageStatsService extends SystemService implements
= SystemProperties.getBoolean("persist.debug.time_correction", true);
static final boolean DEBUG = false; // Never submit with true
static final boolean DEBUG_RESPONSE_STATS = DEBUG || Log.isLoggable(TAG, Log.DEBUG);
static final boolean COMPRESS_TIME = false;
private static final long TEN_SECONDS = 10 * 1000;