Merge "Remove gpumemtracer bloat"
diff --git a/services/gpuservice/tests/unittests/Android.bp b/services/gpuservice/tests/unittests/Android.bp
index b35a611..9606daa 100644
--- a/services/gpuservice/tests/unittests/Android.bp
+++ b/services/gpuservice/tests/unittests/Android.bp
@@ -41,6 +41,7 @@
     ],
     static_libs: [
         "libgmock",
+        "libperfetto_client_experimental",
         "perfetto_trace_protos",
     ],
     require_root: true,
diff --git a/services/gpuservice/tests/unittests/GpuMemTracerTest.cpp b/services/gpuservice/tests/unittests/GpuMemTracerTest.cpp
index 7fa75e1..cd8e19c 100644
--- a/services/gpuservice/tests/unittests/GpuMemTracerTest.cpp
+++ b/services/gpuservice/tests/unittests/GpuMemTracerTest.cpp
@@ -75,6 +75,22 @@
 
     int getTracerThreadCount() { return mGpuMemTracer->tracerThreadCount; }
 
+    std::vector<perfetto::protos::TracePacket> readGpuMemTotalPacketsBlocking(
+            perfetto::TracingSession* tracingSession) {
+        std::vector<char> raw_trace = tracingSession->ReadTraceBlocking();
+        perfetto::protos::Trace trace;
+        trace.ParseFromArray(raw_trace.data(), int(raw_trace.size()));
+
+        std::vector<perfetto::protos::TracePacket> packets;
+        for (const auto& packet : trace.packet()) {
+            if (!packet.has_gpu_mem_total_event()) {
+                continue;
+            }
+            packets.emplace_back(packet);
+        }
+        return packets;
+    }
+
     std::shared_ptr<GpuMem> mGpuMem;
     TestableGpuMem mTestableGpuMem;
     std::unique_ptr<GpuMemTracer> mGpuMemTracer;
@@ -125,7 +141,7 @@
     // The test tracer thread should have finished its execution by now.
     EXPECT_EQ(getTracerThreadCount(), 0);
 
-    auto packets = mGpuMemTracer->readGpuMemTotalPacketsForTestBlocking(tracingSession.get());
+    auto packets = readGpuMemTotalPacketsBlocking(tracingSession.get());
     EXPECT_EQ(packets.size(), 3);
 
     const auto& packet0 = packets[0];
@@ -176,7 +192,7 @@
     // The test tracer thread should have finished its execution by now.
     EXPECT_EQ(getTracerThreadCount(), 0);
 
-    auto packets = mGpuMemTracer->readGpuMemTotalPacketsForTestBlocking(tracingSession.get());
+    auto packets = readGpuMemTotalPacketsBlocking(tracingSession.get());
     EXPECT_EQ(packets.size(), 0);
 }
 } // namespace android
diff --git a/services/gpuservice/tracing/Android.bp b/services/gpuservice/tracing/Android.bp
index 9f951d3..919fed3 100644
--- a/services/gpuservice/tracing/Android.bp
+++ b/services/gpuservice/tracing/Android.bp
@@ -21,13 +21,10 @@
         "libgpumem",
         "libbase",
         "liblog",
-        "libprotobuf-cpp-lite",
-        "libprotoutil",
         "libutils",
     ],
     static_libs: [
         "libperfetto_client_experimental",
-        "perfetto_trace_protos",
     ],
     export_include_dirs: ["include"],
     export_static_lib_headers: [
diff --git a/services/gpuservice/tracing/GpuMemTracer.cpp b/services/gpuservice/tracing/GpuMemTracer.cpp
index 584498e..6975151 100644
--- a/services/gpuservice/tracing/GpuMemTracer.cpp
+++ b/services/gpuservice/tracing/GpuMemTracer.cpp
@@ -22,7 +22,6 @@
 
 #include <gpumem/GpuMem.h>
 #include <perfetto/trace/android/gpu_mem_event.pbzero.h>
-#include <perfetto/trace/trace.pb.h>
 #include <unistd.h>
 
 #include <thread>
@@ -63,22 +62,6 @@
     tracerThreadCount++;
 }
 
-std::vector<perfetto::protos::TracePacket> GpuMemTracer::readGpuMemTotalPacketsForTestBlocking(
-        perfetto::TracingSession* tracingSession) {
-    std::vector<char> raw_trace = tracingSession->ReadTraceBlocking();
-    perfetto::protos::Trace trace;
-    trace.ParseFromArray(raw_trace.data(), int(raw_trace.size()));
-
-    std::vector<perfetto::protos::TracePacket> packets;
-    for (const auto& packet : trace.packet()) {
-        if (!packet.has_gpu_mem_total_event()) {
-            continue;
-        }
-        packets.emplace_back(packet);
-    }
-    return packets;
-}
-
 // Each tracing session can be used for a single block of Start -> Stop.
 std::unique_ptr<perfetto::TracingSession> GpuMemTracer::getTracingSessionForTest() {
     perfetto::TraceConfig cfg;