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

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

Issue 425593002: Refactor trace_event_impl's SetEnabled to use TraceOptions. Propagate this through the whole stack. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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
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 0db140551e52e76577fcc9bba01aa6dfffd5f312..5e37e1b3a999810253fd986fb8297e99e116ce53 100644
--- a/content/browser/tracing/tracing_controller_impl.cc
+++ b/content/browser/tracing/tracing_controller_impl.cc
@@ -24,6 +24,7 @@
#endif
using base::debug::TraceLog;
+using base::debug::TraceOptions;
namespace content {
@@ -191,7 +192,9 @@ bool TracingControllerImpl::GetCategories(
// message. So to get known categories, just begin and end tracing immediately
// afterwards. This will ping all the child processes for categories.
pending_get_categories_done_callback_ = callback;
- if (!EnableRecording("*", TracingController::Options(),
+ if (!EnableRecording("*",
+ TraceOptions(),
+ false,
EnableRecordingDoneCallback())) {
pending_get_categories_done_callback_.Reset();
return false;
@@ -205,14 +208,14 @@ bool TracingControllerImpl::GetCategories(
void TracingControllerImpl::SetEnabledOnFileThread(
const std::string& category_filter,
int mode,
- int trace_options,
+ TraceOptions 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));
+ trace_options);
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
}
@@ -226,7 +229,8 @@ void TracingControllerImpl::SetDisabledOnFileThread(
bool TracingControllerImpl::EnableRecording(
const std::string& category_filter,
- TracingController::Options options,
+ TraceOptions trace_options,
+ bool enable_systrace,
const EnableRecordingDoneCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -239,14 +243,10 @@ bool TracingControllerImpl::EnableRecording(
TraceLog::GetInstance()->AddClockSyncMetadataEvent();
#endif
- options_ = options;
- int trace_options = (options & RECORD_CONTINUOUSLY) ?
- TraceLog::RECORD_CONTINUOUSLY : TraceLog::RECORD_UNTIL_FULL;
- if (options & ENABLE_SAMPLING) {
- trace_options |= TraceLog::ENABLE_SAMPLING;
- }
+ trace_options_ = trace_options;
+ enable_systrace_ = enable_systrace;
- if (options & ENABLE_SYSTRACE) {
+ if (enable_systrace) {
#if defined(OS_CHROMEOS)
DCHECK(!is_system_tracing_);
chromeos::DBusThreadManager::Get()->GetDebugDaemonClient()->
@@ -276,15 +276,14 @@ bool TracingControllerImpl::EnableRecording(
void TracingControllerImpl::OnEnableRecordingDone(
const std::string& category_filter,
- int trace_options,
+ TraceOptions trace_options,
const EnableRecordingDoneCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// Notify all child processes.
for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
it != trace_message_filters_.end(); ++it) {
- it->get()->SendBeginTracing(category_filter,
- static_cast<TraceLog::Options>(trace_options));
+ it->get()->SendBeginTracing(category_filter, trace_options);
}
if (!callback.is_null())
@@ -299,7 +298,7 @@ bool TracingControllerImpl::DisableRecording(
if (!can_disable_recording())
return false;
- options_ = TracingController::Options();
+ trace_options_ = TraceOptions();
// Disable local trace early to avoid traces during end-tracing process from
// interfering with the process.
base::Closure on_disable_recording_done_callback =
@@ -375,7 +374,7 @@ void TracingControllerImpl::OnDisableRecordingDone(
bool TracingControllerImpl::EnableMonitoring(
const std::string& category_filter,
- TracingController::Options options,
+ TraceOptions trace_options,
const EnableMonitoringDoneCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -387,10 +386,7 @@ bool TracingControllerImpl::EnableMonitoring(
TraceLog::GetInstance()->AddClockSyncMetadataEvent();
#endif
- options_ = options;
- int trace_options = 0;
- if (options & ENABLE_SAMPLING)
- trace_options |= TraceLog::ENABLE_SAMPLING;
+ trace_options_ = trace_options;
base::Closure on_enable_monitoring_done_callback =
base::Bind(&TracingControllerImpl::OnEnableMonitoringDone,
@@ -408,15 +404,14 @@ bool TracingControllerImpl::EnableMonitoring(
void TracingControllerImpl::OnEnableMonitoringDone(
const std::string& category_filter,
- int trace_options,
+ TraceOptions trace_options,
const EnableMonitoringDoneCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// Notify all child processes.
for (TraceMessageFilterSet::iterator it = trace_message_filters_.begin();
it != trace_message_filters_.end(); ++it) {
- it->get()->SendEnableMonitoring(category_filter,
- static_cast<TraceLog::Options>(trace_options));
+ it->get()->SendEnableMonitoring(category_filter, trace_options);
}
if (!callback.is_null())
@@ -430,7 +425,8 @@ bool TracingControllerImpl::DisableMonitoring(
if (!can_disable_monitoring())
return false;
- options_ = TracingController::Options();
+ trace_options_ = TraceOptions();
+ enable_systrace_ = false;
base::Closure on_disable_monitoring_done_callback =
base::Bind(&TracingControllerImpl::OnDisableMonitoringDone,
base::Unretained(this), callback);
@@ -460,11 +456,13 @@ void TracingControllerImpl::OnDisableMonitoringDone(
void TracingControllerImpl::GetMonitoringStatus(
bool* out_enabled,
std::string* out_category_filter,
- TracingController::Options* out_options) {
+ TraceOptions* out_trace_options,
+ bool* out_enable_systrace) {
*out_enabled = is_monitoring_;
*out_category_filter =
TraceLog::GetInstance()->GetCurrentCategoryFilter().ToString();
- *out_options = options_;
+ *out_trace_options = trace_options_;
+ *out_enable_systrace = enable_systrace_;
}
bool TracingControllerImpl::CaptureMonitoringSnapshot(
@@ -600,12 +598,12 @@ void TracingControllerImpl::AddTraceMessageFilter(
if (can_disable_recording()) {
trace_message_filter->SendBeginTracing(
TraceLog::GetInstance()->GetCurrentCategoryFilter().ToString(),
- TraceLog::GetInstance()->trace_options());
+ TraceLog::GetInstance()->GetCurrentTraceOptions());
}
if (can_disable_monitoring()) {
trace_message_filter->SendEnableMonitoring(
TraceLog::GetInstance()->GetCurrentCategoryFilter().ToString(),
- TraceLog::GetInstance()->trace_options());
+ TraceLog::GetInstance()->GetCurrentTraceOptions());
}
}

Powered by Google App Engine
This is Rietveld 408576698