commit | 95f25b1c7f3db610efb9e36c7fd07ed2dea71f4f | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Thu Jun 22 18:11:05 2023 +0100 |
committer | Lalit Maganti <lalitm@google.com> | Thu Jun 22 18:11:05 2023 +0100 |
tree | cae8f5cbb0de8be3606221001dce92c78dd705da | |
parent | e42abdb46ce1a0f18a493dad42b56ad8cca1a19b [diff] |
tp: implement Python style error message stack traces This CL implements traceback error-messages similar to Python for all SQL errors. Specifically, every instance of execution of SQL in trace processor now augments the error message with bread-crumbs adding its context. This makes it much easier to understand where, how and why errors happened. The format of the error message draws heavy inspiration from Python so as to be instantly understandable by anyone who has seen error messages from there For example, suppose you make a syntax error in the shell: ``` > select s from slice Traceback (most recent call last): File "stdin" line 1 col 8 select s from slice ^ no such column: s ``` And if there is an error in a stdlib module called by a metric: ``` Traceback (most recent call last): Metric "android/android_startup.sql" line 18 col 1 SELECT IMPORT('android.startup.startups'); ^ Module import "android.startup.startups" line 106 col 5 startup_i, ^ no such column: startup_i ``` Change-Id: Ie181a8aebedc655227a3505e6909d42db7d9cba7 Bug: 282918991 Fixes: 282918991
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.