diff options
author | Ioannis Ilkos <ilkos@google.com> | 2023-05-15 15:32:42 +0100 |
---|---|---|
committer | Ioannis Ilkos <ilkos@google.com> | 2023-05-15 15:32:42 +0100 |
commit | e0978218e03753ba6f0497f782ecfda31421e891 (patch) | |
tree | 70c31ff12dd1537df37a0365cff9a65f39403e3a | |
parent | 9636c9811e4f97115c70a51e1eba991466c8e673 (diff) | |
download | perfetto-e0978218e03753ba6f0497f782ecfda31421e891.tar.gz |
Heuristically match isolated processes package
Bug: 281694530
Change-Id: Ieb5d4fd580f51ad4241dfba6a5d54ca90b5c64aa
-rw-r--r-- | src/trace_processor/stdlib/android/process_metadata.sql | 22 |
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 || '*' + ) ); |