commit | ab5cba19c445ff3e4225a5ec365d4e13e2b325a2 | [log] [tgz] |
---|---|---|
author | Alexander Timin <altimin@google.com> | Tue Jan 19 17:23:19 2021 +0000 |
committer | Alexander Timin <altimin@google.com> | Tue Jan 19 17:23:19 2021 +0000 |
tree | 8036ca2bddcecb3a92d99c69a3d91c46d4517fb1 | |
parent | 26257dc5bc6bcb20aee3062dcb5e84f751f01b5d [diff] |
TracedValue: add dchecks that the scope is always correct. Each time a value is being written into a TracedValue / TracedArray / TracedDictionary, DCHECK that it's an active one. Active bit is tracked on each scope in the following way: - When calling Write* for primitive types, active bit is passed back to the parent. - When calling Write* for complex types, active bit is passed to the newly-created scope. - When destroying the scope, active bit is passed back to the parent. Also add a few death tests checking that the dchecks actually fail. R=primiano@google.com,eseckler@google.com,skyostil@google.com Change-Id: Iab5122a2317c2ea7ad646039ea6e40a6fe7195ba
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.