From 291dc44ee940a623e699ba53e9bc230b152c73dc Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Mon, 7 Feb 2022 19:00:23 -0800 Subject: [PATCH] Improve broadcast tracing Include the name of the broadcast that is being handled in the tracepoint for receivers registered both at runtime and in the manifest. Test: TH, traces Bug: 208747905 Change-Id: I624cd434c5066296e55f4c8bb8c46de65bfe635c --- core/java/android/app/ActivityThread.java | 11 ++++++++++- core/java/android/app/LoadedApk.java | 6 +++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 5b8969e9374e2..61d186579f1bd 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -2132,7 +2132,16 @@ public final class ActivityThread extends ClientTransactionHandler Looper.myLooper().quit(); break; case RECEIVER: - Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "broadcastReceiveComp"); + if (Trace.isTagEnabled(Trace.TRACE_TAG_ACTIVITY_MANAGER)) { + ReceiverData rec = (ReceiverData) msg.obj; + if (rec.intent != null) { + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, + "broadcastReceiveComp: " + rec.intent.getAction()); + } else { + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, + "broadcastReceiveComp"); + } + } handleReceiver((ReceiverData)msg.obj); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); break; diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 38e344e572943..77c7c6f80f0ee 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -1734,7 +1734,11 @@ public final class LoadedApk { return; } - Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "broadcastReceiveReg"); + if (Trace.isTagEnabled(Trace.TRACE_TAG_ACTIVITY_MANAGER)) { + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, + "broadcastReceiveReg: " + intent.getAction()); + } + try { ClassLoader cl = mReceiver.getClass().getClassLoader(); intent.setExtrasClassLoader(cl);