Index: mojo/common/tracing_impl.cc |
diff --git a/sky/viewer/services/tracing_impl.cc b/mojo/common/tracing_impl.cc |
similarity index 65% |
rename from sky/viewer/services/tracing_impl.cc |
rename to mojo/common/tracing_impl.cc |
index 755e0dd2eff2bfa0a02bf97d6c39831b4bf4ab3a..ea912c99851bcfde4ccbbb41cd3ccd7dfc1cea8f 100644 |
--- a/sky/viewer/services/tracing_impl.cc |
+++ b/mojo/common/tracing_impl.cc |
@@ -2,13 +2,13 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "sky/viewer/services/tracing_impl.h" |
+#include "mojo/common/tracing_impl.h" |
#include "base/callback.h" |
#include "base/debug/trace_event.h" |
#include "base/files/file_util.h" |
-namespace sky { |
+namespace mojo { |
namespace { |
static bool g_tracing = false; |
@@ -22,8 +22,8 @@ void WriteTraceDataCollected( |
fwrite(",", 1, 1, g_trace_file); |
} |
++g_blocks; |
- fwrite( |
- events_str->data().c_str(), 1, events_str->data().length(), g_trace_file); |
+ fwrite(events_str->data().c_str(), 1, events_str->data().length(), |
+ g_trace_file); |
if (!has_more_events) { |
fwrite("]}", 1, 2, g_trace_file); |
base::CloseFile(g_trace_file); |
@@ -32,20 +32,21 @@ void WriteTraceDataCollected( |
} |
} |
-void StopTracingAndFlushToDisk() { |
+void StopTracingAndFlushToDisk(base::FilePath::StringType base_name) { |
base::debug::TraceLog::GetInstance()->SetDisabled(); |
- g_trace_file = base::OpenFile( |
- base::FilePath(FILE_PATH_LITERAL("sky_viewer.trace")), "w+"); |
+ base_name.append(FILE_PATH_LITERAL(".trace")); |
+ g_trace_file = base::OpenFile(base::FilePath(base_name), "w+"); |
static const char start[] = "{\"traceEvents\":["; |
fwrite(start, 1, strlen(start), g_trace_file); |
base::debug::TraceLog::GetInstance()->Flush( |
base::Bind(&WriteTraceDataCollected)); |
} |
- |
} |
-TracingImpl::TracingImpl() { |
+TracingImpl::TracingImpl(InterfaceRequest<Tracing> request, |
+ base::FilePath::StringType base_name) |
+ : base_name_(base_name), binding_(this, request.Pass()) { |
} |
TracingImpl::~TracingImpl() { |
@@ -56,8 +57,7 @@ void TracingImpl::Start() { |
return; |
g_tracing = true; |
base::debug::TraceLog::GetInstance()->SetEnabled( |
- base::debug::CategoryFilter("*"), |
- base::debug::TraceLog::RECORDING_MODE, |
+ base::debug::CategoryFilter("*"), base::debug::TraceLog::RECORDING_MODE, |
base::debug::TraceOptions(base::debug::RECORD_UNTIL_FULL)); |
} |
@@ -65,7 +65,7 @@ void TracingImpl::Stop() { |
if (!g_tracing) |
return; |
g_tracing = false; |
- StopTracingAndFlushToDisk(); |
+ StopTracingAndFlushToDisk(base_name_); |
} |
-} // namespace sky |
+} // namespace mojo |