commit | d7b87d1ac9850efc381bfb844ce912708d07d8a4 | [log] [tgz] |
---|---|---|
author | Anton Urusov <urusant@google.com> | Thu May 13 13:55:24 2021 +0100 |
committer | Anton Urusov <urusant@google.com> | Thu May 13 13:55:24 2021 +0100 |
tree | 40dddf02f58ba24b2c7192b7b00941fc535a2699 | |
parent | 02e54dd52b2b1196524df79794db77c9ff13d906 [diff] |
Extract long binder transactions during app startups. The transactions are considered long if they are longer 100ms. We can probably refine this threshold later if we need to. We output all long transactions individually. Based on a bit of ad-hoc analysis, the cardinality isn't generally very high, and if it is, we would really want to know about it. For each transaction, we output the duration and the thread, which (sometimes) gives some idea on what kind of binder call it was. I haven't yet figured out a better way to trace binder transactions from traces, so will probably refine this in the future. Change-Id: I31be44b40cabec56ad728cc3e3086dc82265da56
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.