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.