aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIoannis Ilkos <ilkos@google.com>2023-05-15 15:32:42 +0100
committerIoannis Ilkos <ilkos@google.com>2023-05-15 15:32:42 +0100
commite0978218e03753ba6f0497f782ecfda31421e891 (patch)
tree70c31ff12dd1537df37a0365cff9a65f39403e3a
parent9636c9811e4f97115c70a51e1eba991466c8e673 (diff)
downloadperfetto-e0978218e03753ba6f0497f782ecfda31421e891.tar.gz
Heuristically match isolated processes package
Bug: 281694530 Change-Id: Ieb5d4fd580f51ad4241dfba6a5d54ca90b5c64aa
-rw-r--r--src/trace_processor/stdlib/android/process_metadata.sql22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/trace_processor/stdlib/android/process_metadata.sql b/src/trace_processor/stdlib/android/process_metadata.sql
index 20fb82e28..6154f00af 100644
--- a/src/trace_processor/stdlib/android/process_metadata.sql
+++ b/src/trace_processor/stdlib/android/process_metadata.sql
@@ -50,11 +50,19 @@ FROM process
LEFT JOIN internal_uid_package_count ON process.android_appid = internal_uid_package_count.uid
LEFT JOIN package_list plist
ON (
- process.android_appid = plist.uid
- AND internal_uid_package_count.uid = plist.uid
- AND (
- -- unique match
- internal_uid_package_count.cnt = 1
- -- or process name starts with the package name
- OR process.name GLOB plist.package_name || '*')
+ (
+ process.android_appid = plist.uid
+ AND internal_uid_package_count.uid = plist.uid
+ AND (
+ -- unique match
+ internal_uid_package_count.cnt = 1
+ -- or process name starts with the package name
+ OR process.name GLOB plist.package_name || '*')
+ )
+ OR
+ (
+ -- isolated processes can only be matched based on the name prefix
+ process.android_appid >= 90000 AND process.android_appid < 100000
+ AND STR_SPLIT(process.name, ':', 0) GLOB plist.package_name || '*'
+ )
);