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;