commit | a0c9023e4b27fbe44ed22c542a76fd2533660dbb | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Mon May 10 21:33:00 2021 +0100 |
committer | Lalit Maganti <lalitm@google.com> | Mon May 10 21:33:00 2021 +0100 |
tree | 18b3a14353025900e0011960a17a7b1382a127bf | |
parent | a4d450e81e396a2688a422bcb789dbc82ba67537 [diff] |
tp: massively speed up startup metric This CL significantly improves the speed of the startup metric which regressed considerably in the past few months. We do this in two ways: (1) Materalize aggregated data which comes from span joined tables or from unaggreated slice tables. This converts an op which is O(no of startups * no of slices) to just O(no of startups) (2) Convert IN clause of process lookup to a JOIN. Some timings for context on trace from b/187546438: * Code at ToT: 272s * Code with last ~6 changes to startup metric: 53s [*] * Code with this change: 12s This means the affect of each individual change is (1) Saving of 219s (2) Saving of 41s [*]: This basically measures the affect of change (1) above as the most recent changes introduced these lookups on unaggreated tables. Change-Id: I912a7d520cedfa93141ad1f8f8fd4100f35cb2f2 Bug: 187546438
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.