Ensure FrameTracer is only initialized once.

Bug: 140307339
Test: adb shell service call SurfaceFlinger 1 (This triggers bootFinished)

Change-Id: I4a9c5587288d7a67d955e91bf3185fc2f2ccfd77
diff --git a/services/surfaceflinger/FrameTracer/FrameTracer.cpp b/services/surfaceflinger/FrameTracer/FrameTracer.cpp
index 7cbb8d8..006dbfe 100644
--- a/services/surfaceflinger/FrameTracer/FrameTracer.cpp
+++ b/services/surfaceflinger/FrameTracer/FrameTracer.cpp
@@ -23,16 +23,19 @@
 #include <android-base/stringprintf.h>
 
 #include <algorithm>
+#include <mutex>
 
 PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS(android::FrameTracer::FrameTracerDataSource);
 
 namespace android {
 
 void FrameTracer::initialize() {
-    perfetto::TracingInitArgs args;
-    args.backends = perfetto::kSystemBackend;
-    perfetto::Tracing::Initialize(args);
-    registerDataSource();
+    std::call_once(mInitializationFlag, [this]() {
+        perfetto::TracingInitArgs args;
+        args.backends = perfetto::kSystemBackend;
+        perfetto::Tracing::Initialize(args);
+        registerDataSource();
+    });
 }
 
 void FrameTracer::registerDataSource() {