Remove libprotobuf from IPC layer
This CL switches the IPC layer to use directly the protozero-based
.gen.{cc,h} classes and stop relying on libprotobuf. After this
CL the traced and traced_probes are fully protobuf-free and the
amalgamated SDK becomes fully hermetic.
There are few dependencies left on libprotobuf outside this,
namely: (1) tests, (2) perefetto cmdline client,
(3) some tools, (4) trace-processor libprotobuf-full
for reflection on metrics .proto files.
This CL:
- Updates the .gen.{cc,h} and .ipc.{cc,h} to take a
wrapper_namespace argument. This makes them consistent
with the protozero plugin.
- Moves all .gen.{cc,h} classes into the ::perfetto::protos::gen
namespace. Update forward_decls.h to alias the old types for
TraceConfig and the like into ::perfetto.
- Updates the sources in the ipc layer to use the moved classes
in the "gen" namespace.
Bug: 132880619
Change-Id: I72a441afe800f1a0ca45dc12ea8029528f5e0aabPerfetto 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.
You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev on Freenode.