summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/gpuservice/tests/unittests/Android.bp1
-rw-r--r--services/gpuservice/tests/unittests/GpuMemTracerTest.cpp20
-rw-r--r--services/gpuservice/tracing/Android.bp3
-rw-r--r--services/gpuservice/tracing/GpuMemTracer.cpp17
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;