Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1179)

Unified Diff: content/browser/tracing/tracing_controller_impl.cc

Issue 109933006: Implement sampling profiler (chromium side change) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/tracing/tracing_controller_impl.h ('k') | content/browser/tracing/tracing_ui.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/tracing/tracing_controller_impl.cc
diff --git a/content/browser/tracing/tracing_controller_impl.cc b/content/browser/tracing/tracing_controller_impl.cc
index cc7ffd557b0fda0244eb0a75b8679b87cf9216c8..53656146dcc066769d14fb02aa68e64a8341bcee 100644
--- a/content/browser/tracing/tracing_controller_impl.cc
+++ b/content/browser/tracing/tracing_controller_impl.cc
@@ -80,7 +80,7 @@ void TracingControllerImpl::ResultFile::OpenTask() {
void TracingControllerImpl::ResultFile::WriteTask(
const scoped_refptr<base::RefCountedString>& events_str_ptr) {
- if (!file_)
+ if (!file_ || !events_str_ptr->data().size())
return;
// If there is already a result in the file, then put a commma
@@ -152,12 +152,14 @@ bool TracingControllerImpl::GetCategories(
void TracingControllerImpl::SetEnabledOnFileThread(
const std::string& category_filter,
+ int mode,
int trace_options,
const base::Closure& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
TraceLog::GetInstance()->SetEnabled(
base::debug::CategoryFilter(category_filter),
+ static_cast<TraceLog::Mode>(mode),
static_cast<TraceLog::Options>(trace_options));
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
}
@@ -195,11 +197,13 @@ bool TracingControllerImpl::EnableRecording(
base::Closure on_enable_recording_done_callback =
base::Bind(&TracingControllerImpl::OnEnableRecordingDone,
base::Unretained(this),
- category_filter, trace_options, callback);
+ category_filter,trace_options, callback);
BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
base::Bind(&TracingControllerImpl::SetEnabledOnFileThread,
base::Unretained(this),
- category_filter, trace_options,
+ category_filter,
+ base::debug::TraceLog::RECORDING_MODE,
+ trace_options,
on_enable_recording_done_callback));
return true;
}
@@ -295,7 +299,7 @@ bool TracingControllerImpl::EnableMonitoring(
int trace_options = 0;
if (options & ENABLE_SAMPLING)
- trace_options |= TraceLog::MONITOR_SAMPLING;
+ trace_options |= TraceLog::ENABLE_SAMPLING;
base::Closure on_enable_monitoring_done_callback =
base::Bind(&TracingControllerImpl::OnEnableMonitoringDone,
@@ -304,7 +308,9 @@ bool TracingControllerImpl::EnableMonitoring(
BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
base::Bind(&TracingControllerImpl::SetEnabledOnFileThread,
base::Unretained(this),
- category_filter, trace_options,
+ category_filter,
+ base::debug::TraceLog::MONITORING_MODE,
+ trace_options,
on_enable_monitoring_done_callback));
return true;
}
@@ -501,6 +507,11 @@ void TracingControllerImpl::AddTraceMessageFilter(
TraceLog::GetInstance()->GetCurrentCategoryFilter().ToString(),
TraceLog::GetInstance()->trace_options());
}
+ if (can_disable_monitoring()) {
+ trace_message_filter->SendEnableMonitoring(
+ TraceLog::GetInstance()->GetCurrentCategoryFilter().ToString(),
+ TraceLog::GetInstance()->trace_options());
+ }
}
void TracingControllerImpl::RemoveTraceMessageFilter(
« no previous file with comments | « content/browser/tracing/tracing_controller_impl.h ('k') | content/browser/tracing/tracing_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698