diff options
| -rw-r--r-- | services/gpuservice/tests/unittests/Android.bp | 1 | ||||
| -rw-r--r-- | services/gpuservice/tests/unittests/GpuMemTracerTest.cpp | 20 | ||||
| -rw-r--r-- | services/gpuservice/tracing/Android.bp | 3 | ||||
| -rw-r--r-- | services/gpuservice/tracing/GpuMemTracer.cpp | 17 |
4 files changed, 19 insertions, 22 deletions
diff --git a/services/gpuservice/tests/unittests/Android.bp b/services/gpuservice/tests/unittests/Android.bp index b35a611c1b..9606daacec 100644 --- a/services/gpuservice/tests/unittests/Android.bp +++ b/services/gpuservice/tests/unittests/Android.bp @@ -41,6 +41,7 @@ cc_test { ], 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 7fa75e13f8..cd8e19c01d 100644 --- a/services/gpuservice/tests/unittests/GpuMemTracerTest.cpp +++ b/services/gpuservice/tests/unittests/GpuMemTracerTest.cpp @@ -75,6 +75,22 @@ public: 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 @@ TEST_F(GpuMemTracerTest, traceInitialCountersAfterGpuMemInitialize) { // 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 @@ TEST_F(GpuMemTracerTest, noTracingWithoutGpuMemInitialize) { // 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 9f951d39c1..919fed3cec 100644 --- a/services/gpuservice/tracing/Android.bp +++ b/services/gpuservice/tracing/Android.bp @@ -21,13 +21,10 @@ cc_library_shared { "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 584498e981..6975151f11 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 @@ void GpuMemTracer::initializeForTest(std::shared_ptr<GpuMem> gpuMem) { 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; |