Reduce binary size (1.6MB -> 600K) by removing protos/trace:lite dep
This CL removes any dependency from {traced, traced_probes, perfetto}
to //protos/trace:lite. Neither of them really require such dependency
and it causes significant binary bloat due to all the hundreds
.pb.{cc,h} generated by libprotobuf for any possible trace packet.
Specifically:
traced_probes: needs only to depend on the "zero" protos, for writing.
traced: needs the official protobuf only for the following reasons:
- Packet validation (e.g., trusted uid)
- Directly injecting some special packets (TraceConfig, uid, clocks)
Neither of them requires really the hundreds trace packets. They
can just use TrustedPacket, which doesn't pull in the other packets.
perfetto: it requires only TraceConfig, but that is a separate smaller
target.
Bug: 77316877
Test: pefetto_unittests / perfetto_integrationtests
Change-Id: I6e01b47af3313887c685ffb4614009910413bbea
diff --git a/test/test_helper.h b/test/test_helper.h
index 87a9be5..b63707c 100644
--- a/test/test_helper.h
+++ b/test/test_helper.h
@@ -25,6 +25,8 @@
#include "test/fake_producer.h"
#include "test/task_runner_thread.h"
+#include "perfetto/trace/trace_packet.pb.h"
+
namespace perfetto {
class TestHelper : public Consumer {
@@ -41,8 +43,7 @@
FakeProducer* ConnectFakeProducer();
void ConnectConsumer();
void StartTracing(const TraceConfig& config);
- void ReadData(std::function<void(const TracePacket::DecodedTracePacket&)>
- packet_callback,
+ void ReadData(std::function<void(const protos::TracePacket&)> packet_callback,
std::function<void()> on_finish_callback);
std::function<void()> WrapTask(const std::function<void()>& function);
@@ -53,7 +54,7 @@
private:
base::TestTaskRunner* task_runner_ = nullptr;
- std::function<void(const TracePacket::DecodedTracePacket&)> packet_callback_;
+ std::function<void(const protos::TracePacket&)> packet_callback_;
std::function<void()> continuation_callack_;
TaskRunnerThread service_thread_;