commit | 7f17dc144cf6fd1d721bab1bee761271e0730a53 | [log] [tgz] |
---|---|---|
author | Ryan Savitski <rsavitski@google.com> | Sun Mar 27 21:07:24 2022 +0100 |
committer | Ryan Savitski <rsavitski@google.com> | Sun Mar 27 21:07:24 2022 +0100 |
tree | 2d8130cea2e37417b1faf51a0a50eb9df6ca7b1a | |
parent | a96de11aa869d9c129093272f0daebd2e6ef591e [diff] |
deobfuscation: match dexfiles that have been extracted into memory For managed app profiler samples, trace processor currently uses the mapping name when figuring out which package's deobfuscation data to use. This patch extends that logic to deal with paths to in-memory dexfiles, as extracted by ART from the apk. Example: [anon:dalvik-classes.dex extracted in memory from /data/app/~~uUgHYtbjPNr2VFa3byIF4Q==/ com.perfetto.example-aC94wTfXRC60l2HJU5YvjQ==/base.apk] The name of the mapping is not an API, but should be stable in practice (this is handled by art/libartbase/base/zip_archive.cc). I admit that the whole deobfuscation matching approach is still hacky, but this improves the logic until we properly rework it. Bug: 226873402 Change-Id: I724444fadc830dcc4f3e1c94e146f06a043bf358
Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.
See https://perfetto.dev/docs or the /docs/ directory for documentation.