commit | 451863113aa731f1b6ce83a92e4941c761821f6d | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Mon Dec 07 15:24:18 2020 +0000 |
committer | Lalit Maganti <lalitm@google.com> | Mon Dec 07 15:24:18 2020 +0000 |
tree | 66c6614841e6e4e577226c64b41aa7734766064a | |
parent | dd7f6dce12b2d72e26cafe7132a67eb4f40ebb00 [diff] |
ui: improve perf of query for CPU stack samples This CL essentially rewrites the cpu profiling query from scratch reducing the amount of nesting and (most importantly) changing WHERE constraints to ON for joins. Using WHERE constraints means SQLite does not correctly propogate the constraints to the nested query which massively impacts performance wheras ON propogates correctly. Finally, we remove some extraneous joins and simplify position -> depth. Performance on trace from b/168056830 Before aosp/1512469: 33.10s Before this CL: 32.55s After this CL: 0.24s Bug: 168056830 Change-Id: I89fd312ec2e21442869348a3205b8f3def792907
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.