commit | 38089cf90e8d57201183e6aff2f1f347469b0997 | [log] [tgz] |
---|---|---|
author | Ryan Savitski <rsavitski@google.com> | Mon Nov 16 17:58:39 2020 +0000 |
committer | Ryan Savitski <rsavitski@google.com> | Mon Nov 16 17:58:39 2020 +0000 |
tree | 07483026e4047efb858824f9d0a81055c945cc13 | |
parent | 72ebf3d7d54430f99af973f516c863a437bccee8 [diff] |
traced_perf: allow collection and symbolization of kernel frames If a config asks for kernel frames, we include PERF_SAMPLE_CALLCHAIN in the event config. The kernel unwinds its own frames, and we only need to symbolize them in the unwinder, using the kallsyms symbolizer that was added for traced_probes. The kernel frames are output as part of the normal callstack, and can be further identified by having a magical "kernel" string for their mapping name. This is similar to what we do for synthetic error frames. Tested with aosp/1496216 for the SELinux changes around /proc/kallsyms access on android. Bug: 173124818 Change-Id: I05ef78621d00c60e05bb4833c63505c910a0928a
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.