commit | 0f2f3b49365008c35935e90e8caec20470c1f8ac | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Tue May 21 19:37:01 2019 +0100 |
committer | Primiano Tucci <primiano@google.com> | Tue May 21 19:37:01 2019 +0100 |
tree | 63911cd992666746b517006bc559ccec80e0c6d2 | |
parent | 70995c2172982f88c609e34aa71bb02fad7d5393 [diff] |
Stop generating data-source specific C++ classes in tracing/core We generate C++ classes from proto for a bunch of core classes like DataSourceConfig, DataSourceDescriptor etc. This is to prevent spreading protobuf dependencies all over the places. However, at some point in the past we started adding data-source specific sub-messages to DataSourceConfig and doing to required to generate C++ classes for things that don't really belong to tracing/core (e.g. FtraceConfig, SysStatsConfig, etc). This CL introduces a decoupling using a proto annotation [lazy=true]. When fields are annotated as such, the generated C++ stub exposes the field as a raw byte array. This allows to break the dependency between tracing/core and those configs and pushes the decoding responsibility to the actual data sources. This is a step towards getting rid of libprotobuf dependencies in tracing/core for the client library. Note that at the moment the generated classes still depend on libprotobuf for the FromProto / ToProto conversions. Bug: 132880619 Change-Id: I29751565277e7cb60928571e3eaf513477cf9968
Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.
See www.perfetto.dev for docs.