commit | 71cbb3f996fe8eafb3937369418dbf9927a776bd | [log] [tgz] |
---|---|---|
author | Ryan Savitski <rsavitski@google.com> | Thu Mar 31 19:30:31 2022 +0100 |
committer | Ryan Savitski <rsavitski@google.com> | Thu Mar 31 19:30:31 2022 +0100 |
tree | d809538fe9c1110da6e0b7a4e443ea76cb33682c | |
parent | be7e3b9ba78503da04d08f06502aa8f86e9b0ac4 [diff] |
pprof_builder: use trace_processor for demangling, and put obfuscated java frame names in system_name This deduplicates code and takes advantage of the more powerful demangling in trace processor. One small side change is that if we see an obfuscated java method name such as "A.b", and have deobfuscation packets with the full name, the resulting pprof proto now has the human-readable name in Function.name, and the obfuscated name in Function.system_name. This is the same as what we do for mangled & demangled native frames. Previously the code used the deobfuscated name for both name and system_name. Note that I don't think any tools we use actually care about system_name, but I'm retaining that info since it can still be investigated via the pprof cmdline. Bug: 204297290 Change-Id: Ic97cfbc98258d95c38df5a18981fb5b7de22bd52
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.