Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8773a2f authored by Adithya Srinivasan's avatar Adithya Srinivasan Committed by Automerger Merge Worker
Browse files

Remove gpumemtracer bloat am: 45583460

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1554577

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I787b3a94a069d5b32e10874f8ae2961facd8261b
parents ece3381c 45583460
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ cc_test {
    ],
    static_libs: [
        "libgmock",
        "libperfetto_client_experimental",
        "perfetto_trace_protos",
    ],
    require_root: true,
+18 −2
Original line number Diff line number Diff line
@@ -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
+0 −3
Original line number Diff line number Diff line
@@ -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: [
+0 −17
Original line number Diff line number Diff line
@@ -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;