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

Commit 4ab80de6 authored by Raymond Chiu's avatar Raymond Chiu Committed by Android (Google) Code Review
Browse files

Merge "Ensure FrameTracer is only initialized once."

parents fb563712 27b53722
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -23,16 +23,19 @@
#include <android-base/stringprintf.h>
#include <android-base/stringprintf.h>


#include <algorithm>
#include <algorithm>
#include <mutex>


PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS(android::FrameTracer::FrameTracerDataSource);
PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS(android::FrameTracer::FrameTracerDataSource);


namespace android {
namespace android {


void FrameTracer::initialize() {
void FrameTracer::initialize() {
    std::call_once(mInitializationFlag, [this]() {
        perfetto::TracingInitArgs args;
        perfetto::TracingInitArgs args;
        args.backends = perfetto::kSystemBackend;
        args.backends = perfetto::kSystemBackend;
        perfetto::Tracing::Initialize(args);
        perfetto::Tracing::Initialize(args);
        registerDataSource();
        registerDataSource();
    });
}
}


void FrameTracer::registerDataSource() {
void FrameTracer::registerDataSource() {
+1 −0
Original line number Original line Diff line number Diff line
@@ -100,6 +100,7 @@ private:


    std::mutex mTraceMutex;
    std::mutex mTraceMutex;
    std::unordered_map<int32_t, TraceRecord> mTraceTracker;
    std::unordered_map<int32_t, TraceRecord> mTraceTracker;
    std::once_flag mInitializationFlag;
};
};


} // namespace android
} // namespace android