summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lydia Tse <lydiatse@google.com> 2024-05-29 18:31:32 +0000
committer Lydia Tse <lydiatse@google.com> 2024-06-03 20:43:54 +0000
commit2618484c8190ba61b4afa47ba0aa6425685df1e3 (patch)
treeeae53e4c8fb3899734f116c615ad248c2fd652e2
parent2a4e99a798cc69944f64d54b81aee987fbea45d6 (diff)
Added trace event to broadcastIntentWithFeature.
Test: follow the steps below to test 1. Collect a boot trace using the trace config from company/teams/auto/embedded/framework/performance/tools/src/perfetto_trace_config.textproto. 2. Open the trace in Perfetto and query for a slice name with 'broadcastIntent' using SELECT * FROM slice WHERE name glob '%broadcastIntent:%'; Change-Id: Idce039d2b055f08a710e8f47ad90348cd9537b3a
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 11e4a03e44a4..954dbdcce104 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -15770,6 +15770,7 @@ public class ActivityManagerService extends IActivityManager.Stub
String[] excludedPackages, int appOp, Bundle bOptions,
boolean serialized, boolean sticky, int userId) {
enforceNotIsolatedCaller("broadcastIntent");
+
synchronized(this) {
intent = verifyBroadcastLocked(intent);
@@ -15783,6 +15784,12 @@ public class ActivityManagerService extends IActivityManager.Stub
// Permission regimes around sender-supplied broadcast options.
enforceBroadcastOptionPermissionsInternal(bOptions, callingUid);
+ final ComponentName cn = intent.getComponent();
+
+ Trace.traceBegin(
+ Trace.TRACE_TAG_ACTIVITY_MANAGER,
+ "broadcastIntent:" + (cn != null ? cn.toString() : intent.getAction()));
+
final long origId = Binder.clearCallingIdentity();
try {
return broadcastIntentLocked(callerApp,
@@ -15793,6 +15800,7 @@ public class ActivityManagerService extends IActivityManager.Stub
callingPid, userId, BackgroundStartPrivileges.NONE, null, null);
} finally {
Binder.restoreCallingIdentity(origId);
+ Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
}
}
}