commit | 797afffb643ef04fa0be96df411d7e4f8c614ffa | [log] [tgz] |
---|---|---|
author | Daniele Di Proietto <ddiproietto@google.com> | Wed Dec 14 13:20:10 2022 +0000 |
committer | Ryan Zuklie <rzuklie@google.com> | Fri Jan 27 16:15:22 2023 -0800 |
tree | 02f1f59c7b0bfffef0a29e6c7a2365e932eea39d | |
parent | f8b93eb4dba7c46724f2dd3cea559955412ad208 [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 (cherry picked from commit 04073f60907237b14fa68f5fc422a291944b7b15) Merged-In: 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.