commit | 134b9ef223989bd7ceaa32de04a6a10ed3946ec5 | [log] [tgz] |
---|---|---|
author | Ryan Savitski <rsavitski@google.com> | Mon Feb 28 13:21:47 2022 +0000 |
committer | Ryan Savitski <rsavitski@google.com> | Mon Feb 28 16:15:05 2022 +0000 |
tree | 3f1086bc6acb45b8843fd33366d01d66858f4d0e | |
parent | 5bc4f42913ff638c5471e46ffb6cfcfb89bf71aa [diff] |
dynamic tables: improve error handling by returning base::Status from ComputeTable Also make ancestor, descendant, and annotated callstack generators handle invalidly typed inputs (most likely a stray null) with an explicit error, instead of a crash on SqlValue.AsLong(). Most of the other generators were made to work as before, without taking advantage of the new Status error reporting. Examples of errors: > select * from ancestor_slice(null) SQLite error: ancestor_slice: invalid start_id (errcode: 19) > select * from ancestor_slice(420000) SQLite error: ancestor_slice: no row with id 420000 (errcode: 19) Tested: difftests and unittests Bug: 218988616 Change-Id: Ie50fac38dfc2af736d3c42cc7c7880c12abca61b
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.