commit | 04073f60907237b14fa68f5fc422a291944b7b15 | [log] [tgz] |
---|---|---|
author | Daniele Di Proietto <ddiproietto@google.com> | Wed Dec 14 13:20:10 2022 +0000 |
committer | Daniele Di Proietto <ddiproietto@google.com> | Wed Jan 25 11:05:48 2023 +0000 |
tree | 2b3372c7b6b11b5f24a0ba7dde8b5cca2476c169 | |
parent | facc417319406ebaa00a0b26eca03cbbb03a7e9f [diff] |
tracing: Add init option to avoid linking system consumer Today when using perfetto::Tracing::Initialize() with the system backend, both the producer and the consumer side of the ipcs are linked in, even though most perfetto users will not likely use the consumer side. The consumer side implementation is responsible for a large portion of the statically linked binary size (~100Kbytes out of ~700kBytes, thanks rzuklie@google.com for finding that out!). This commit adds an option to perfetto::Tracing::Initialize to avoid initializing the consumer side of the system backend. Change-Id: I17a72f4864c6c300a6a734f93b349e6d020f1967
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.