commit | 36881d116ea96f57f1eac1a43946bde20d4b91dd | [log] [tgz] |
---|---|---|
author | Eric Seckler <eseckler@google.com> | Wed Feb 10 10:55:31 2021 +0000 |
committer | Eric Seckler <eseckler@google.com> | Wed Feb 10 12:31:23 2021 +0000 |
tree | b5018cb72c39994fbc5a955a9027f6cb7406abbb | |
parent | b05d9d92a00eb13527779d8f4fb3324ee1a2a2ee [diff] |
sdk: Fail gracefully when attempting to trace on an invalid backend Adds a TracingBackendFake instance to TracingMuxerImpl, which is used as a fallback backend for new tracing sessions in case they specify a backend type that isn't available, e.g., because it wasn't registered in Tracing::Initialize(). This backend instance simply disconnects consumers when they attempt to connect. It still allows the SDK to register a producer with the backend (in order to avoid a lot of connection retries or special casing of the backend in the muxer), but ignores any data source registrations. Also fixes a few races during session callback registration. Bug: 179761322 Change-Id: I1580461aad3711fb21f99db8e735d84ffe8cebda
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.