提交 95ba64b7 编写于 作者: C Chinmay Garde

Allow enabling tracing in base without an instance of the tracing controller

上级 abe70901
......@@ -12,11 +12,11 @@
#include "base/logging.h"
#include "base/mac/scoped_nsautorelease_pool.h"
#include "base/message_loop/message_loop.h"
#include "base/trace_event/trace_event.h"
#include "mojo/edk/embedder/embedder.h"
#include "mojo/edk/embedder/simple_platform_support.h"
#include "sky/shell/shell.h"
#include "sky/shell/switches.h"
#include "sky/shell/tracing_controller.h"
#include "sky/shell/ui_delegate.h"
#include "ui/gl/gl_surface.h"
......@@ -60,12 +60,9 @@ int PlatformMacMain(int argc,
// Usually, all tracing within flutter is managed via the tracing controller
// The tracing controller is accessed via the shell instance. This means
// that tracing can only be enabled once that instance is created. Traces
// early in startup are lost. This enables tracing in base manually till
// the tracing controller takes over.
base::trace_event::TraceLog::GetInstance()->SetEnabled(
base::trace_event::TraceConfig("*",
base::trace_event::RECORD_UNTIL_FULL),
base::trace_event::TraceLog::RECORDING_MODE);
// early in startup are lost. This enables tracing only in base manually
// till the tracing controller takes over.
sky::shell::TracingController::StartBaseTracing();
}
scoped_ptr<base::MessageLoopForUI> message_loop(new base::MessageLoopForUI());
......
......@@ -28,6 +28,12 @@ class TracingController {
void StopTracing(const base::FilePath& path,
bool terminateLoopWhenDone = false);
// Enables tracing in base. Only use this if an instance of a tracing
// controller cannot be obtained (can happen early in the lifecycle of the
// process). In most cases, the |StartTracing| method on an instance of the
// tracing controller should be used.
static void StartBaseTracing();
base::FilePath PictureTracingPathForCurrentTime() const;
base::FilePath PictureTracingPathForCurrentTime(base::FilePath dir) const;
......@@ -57,7 +63,6 @@ class TracingController {
bool tracing_active_;
void StartDartTracing();
void StartBaseTracing();
void StopDartTracing();
void StopBaseTracing();
void FinalizeTraceFile();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册