diff --git a/content_handler/BUILD.gn b/content_handler/BUILD.gn index 76616f16a6a..d3bfd8efe7c 100644 --- a/content_handler/BUILD.gn +++ b/content_handler/BUILD.gn @@ -37,6 +37,7 @@ executable("content_handler") { "//flutter/sky/engine/platform", "//lib/ftl", "//lib/mtl", + "//lib/trace_event", "//lib/zip", "//mojo/public/cpp/application", "//mojo/public/cpp/bindings", diff --git a/content_handler/main.cc b/content_handler/main.cc index 24940eaccd6..2432c3366e9 100644 --- a/content_handler/main.cc +++ b/content_handler/main.cc @@ -16,6 +16,7 @@ #include "lib/ftl/tasks/task_runner.h" #include "lib/mtl/tasks/message_loop.h" #include "lib/mtl/threading/create_thread.h" +#include "lib/trace_event/tracing_client.h" #include "mojo/public/cpp/application/application_impl_base.h" #include "mojo/public/cpp/application/connect.h" #include "mojo/public/cpp/application/run_application.h" @@ -33,8 +34,10 @@ class App : public mojo::ApplicationImplBase { public: App() {} ~App() override { - if (initialized_) + if (initialized_) { StopThreads(); + trace_event::DestroyTracer(); + } } // Overridden from ApplicationDelegate: @@ -42,6 +45,10 @@ class App : public mojo::ApplicationImplBase { FTL_DCHECK(!initialized_); initialized_ = true; + tracing::TraceProviderRegistryPtr registry; + ConnectToService(shell(), "mojo:tracing", GetProxy(®istry)); + trace_event::InitializeTracer(std::move(registry)); + ftl::RefPtr gpu_task_runner; gpu_thread_ = mtl::CreateThread(&gpu_task_runner); diff --git a/glue/BUILD.gn b/glue/BUILD.gn index 81cc7893c76..4082c9e4aa6 100644 --- a/glue/BUILD.gn +++ b/glue/BUILD.gn @@ -29,6 +29,10 @@ source_set("glue") { deps += [ "//lib/mtl", ] + + public_deps = [ + "//lib/trace_event", + ] } else { sources += [ "drain_data_pipe_job_base.cc", diff --git a/glue/trace_event.h b/glue/trace_event.h index e84a2f20495..c03c94c0a55 100644 --- a/glue/trace_event.h +++ b/glue/trace_event.h @@ -3,13 +3,7 @@ // found in the LICENSE file. #if defined(__Fuchsia__) -#define TRACE_EVENT0(a, b) -#define TRACE_EVENT1(a, b, c, d) -#define TRACE_EVENT2(a, b, c, d, e, f) -#define TRACE_EVENT_ASYNC_BEGIN0(a, b, c) -#define TRACE_EVENT_ASYNC_END0(a, b, c) -#define TRACE_EVENT_ASYNC_BEGIN1(a, b, c, d, e) -#define TRACE_EVENT_ASYNC_END1(a, b, c, d, e) +#include "lib/trace_event/macros.h" #else #include "base/trace_event/trace_event.h" #endif // defined(__Fuchsia__)