commit | 21e9c95a77027184428b3df2cb7c33df216120e6 | [log] [tgz] |
---|---|---|
author | Ryan Zuklie <rzuklie@google.com> | Mon Jul 25 19:44:07 2022 -0700 |
committer | Ryan Zuklie <rzuklie@google.com> | Tue Aug 16 15:50:45 2022 -0700 |
tree | 5e8861aecb49a1dea82a4bc1de82968b39a37673 | |
parent | 2fbf8d8bf878dac5ee4670f0dc3327393e9e7e72 [diff] |
Add ability to trace only select syscalls. On android, the raw_syscalls tracepoints are used to trace syscalls. These however include *all* syscalls, though most users are probably only interested in a subset. This change adds the ability to specify the set of syscall events you want to track and ignore the rest. It works using ftrace filters and uses proper muxing to handle multiple configs. If no filter is provided, the behavior is the exact same as it was before. When muxing, the union of all necessary syscalls will be enabled. Since the individual probers don't filter, this means that concurrent traces can give more syscalls than you requested, but never less. Test: ran perfetto_unittests Change-Id: I1478cbd28625f3b4c5c2d050df8b6fed72db993c
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.