Add support for disallowing concurrent sessions A custom data source class can have `static constexpr bool kSupportsMultipleInstances = false;` member to indicate its support for multiple instances. It is true by default. When this flag is false, we cannot have multiple instances of that data sources. When a data source is already active and if we attempt to start another instance of that data source (via another tracing session), it will fail. We have also added a flag named `support_concurrent_sessions` in TracingInitArgs. It is true by default. When its is set to false, it overrides `DataSource::kSupportsMultipleInstances` for all the data sources. Bug: b/245118150 Change-Id: I012a8bea0f29e50beb3ce7802d8873e5a0161e58
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.