From dce85ffe78ffcd38ee90f59ff236f4617a12039f Mon Sep 17 00:00:00 2001 From: Ryan Zuklie Date: Fri, 7 Apr 2023 09:27:11 -0700 Subject: [PATCH] Clarify in comment Perfetto binary size flags. It's not obvious from code how the simple false value reduces the binary size. Adds a comment to explain how it works and a warning about changing the flag value. Bug: 272207884 Test: It's a comment Change-Id: I5ea733ef879e8e6ea1a2a6bfb3aa22b1fbedd6da --- .../native/libs/libnetworkstats/NetworkTraceHandler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/service-t/native/libs/libnetworkstats/NetworkTraceHandler.cpp b/service-t/native/libs/libnetworkstats/NetworkTraceHandler.cpp index dc5732f362..6aa0fb4cf6 100644 --- a/service-t/native/libs/libnetworkstats/NetworkTraceHandler.cpp +++ b/service-t/native/libs/libnetworkstats/NetworkTraceHandler.cpp @@ -101,6 +101,11 @@ void NetworkTraceHandler::RegisterDataSource() { void NetworkTraceHandler::InitPerfettoTracing() { perfetto::TracingInitArgs args = {}; args.backends |= perfetto::kSystemBackend; + // The following line disables the Perfetto system consumer. Perfetto inlines + // the call to `Initialize` which allows the compiler to see that the branch + // with the SystemConsumerTracingBackend is not used. With LTO enabled, this + // strips the Perfetto consumer code and reduces the size of this binary by + // around 270KB total. Be careful when changing this value. args.enable_system_consumer = false; perfetto::Tracing::Initialize(args); NetworkTraceHandler::RegisterDataSource();