Index: base/trace_event/trace_event_impl.cc |
diff --git a/base/trace_event/trace_event_impl.cc b/base/trace_event/trace_event_impl.cc |
index 6bef9d4b68478c0eda543823bdb23bdad628883d..3d58d873ad52552cf7473e04c3bf505b7bb9cee2 100644 |
--- a/base/trace_event/trace_event_impl.cc |
+++ b/base/trace_event/trace_event_impl.cc |
@@ -1154,9 +1154,8 @@ TraceLog::TraceLog() |
watch_category_(0), |
trace_options_(kInternalRecordUntilFull), |
sampling_thread_handle_(0), |
- category_filter_(CategoryFilter::kDefaultCategoryFilterString), |
- event_callback_category_filter_( |
- CategoryFilter::kDefaultCategoryFilterString), |
+ trace_config_(TraceConfig()), |
+ event_callback_trace_config_(TraceConfig()), |
thread_shared_chunk_index_(0), |
generation_(0), |
use_worker_thread_(false) { |
@@ -1191,9 +1190,7 @@ TraceLog::TraceLog() |
LOG(ERROR) << "Start " << switches::kTraceToConsole |
<< " with CategoryFilter '" << filter << "'."; |
- SetEnabled(CategoryFilter(filter), |
- RECORDING_MODE, |
- TraceOptions(ECHO_TO_CONSOLE)); |
+ SetEnabled(TraceConfig(filter, ECHO_TO_CONSOLE), RECORDING_MODE); |
} |
#endif |
@@ -1233,13 +1230,13 @@ void TraceLog::UpdateCategoryGroupEnabledFlag(size_t category_index) { |
unsigned char enabled_flag = 0; |
const char* category_group = g_category_groups[category_index]; |
if (mode_ == RECORDING_MODE && |
- category_filter_.IsCategoryGroupEnabled(category_group)) |
+ trace_config_.IsCategoryGroupEnabled(category_group)) |
enabled_flag |= ENABLED_FOR_RECORDING; |
else if (mode_ == MONITORING_MODE && |
- category_filter_.IsCategoryGroupEnabled(category_group)) |
+ trace_config_.IsCategoryGroupEnabled(category_group)) |
enabled_flag |= ENABLED_FOR_MONITORING; |
if (event_callback_ && |
- event_callback_category_filter_.IsCategoryGroupEnabled(category_group)) |
+ event_callback_trace_config_.IsCategoryGroupEnabled(category_group)) |
enabled_flag |= ENABLED_FOR_EVENT_CALLBACK; |
#if defined(OS_WIN) |
if (base::trace_event::TraceEventETWExport::isETWExportEnabled()) |
@@ -1255,11 +1252,11 @@ void TraceLog::UpdateCategoryGroupEnabledFlags() { |
UpdateCategoryGroupEnabledFlag(i); |
} |
-void TraceLog::UpdateSyntheticDelaysFromCategoryFilter() { |
+void TraceLog::UpdateSyntheticDelaysFromTraceConfig() { |
ResetTraceEventSyntheticDelays(); |
- const CategoryFilter::StringList& delays = |
- category_filter_.GetSyntheticDelayValues(); |
- CategoryFilter::StringList::const_iterator ci; |
+ const TraceConfig::StringList& delays = |
+ trace_config_.GetSyntheticDelayValues(); |
+ TraceConfig::StringList::const_iterator ci; |
for (ci = delays.begin(); ci != delays.end(); ++ci) { |
StringTokenizer tokens(*ci, ";"); |
if (!tokens.GetNext()) |
@@ -1323,7 +1320,7 @@ const unsigned char* TraceLog::GetCategoryGroupEnabledInternal( |
g_category_groups[category_index] = new_group; |
DCHECK(!g_category_group_enabled[category_index]); |
// Note that if both included and excluded patterns in the |
- // CategoryFilter are empty, we exclude nothing, |
+ // TraceConfig are empty, we exclude nothing, |
// thereby enabling this category group. |
UpdateCategoryGroupEnabledFlag(category_index); |
category_group_enabled = &g_category_group_enabled[category_index]; |
@@ -1346,9 +1343,7 @@ void TraceLog::GetKnownCategoryGroups( |
category_groups->push_back(g_category_groups[i]); |
} |
-void TraceLog::SetEnabled(const CategoryFilter& category_filter, |
- Mode mode, |
- const TraceOptions& options) { |
+void TraceLog::SetEnabled(const TraceConfig& trace_config, Mode mode) { |
std::vector<EnabledStateObserver*> observer_list; |
{ |
AutoLock lock(lock_); |
@@ -1357,7 +1352,7 @@ void TraceLog::SetEnabled(const CategoryFilter& category_filter, |
DCHECK(!flush_task_runner_); |
InternalTraceOptions new_options = |
- GetInternalOptionsFromTraceOptions(options); |
+ GetInternalOptionsFromTraceConfig(trace_config); |
InternalTraceOptions old_options = trace_options(); |
@@ -1371,7 +1366,7 @@ void TraceLog::SetEnabled(const CategoryFilter& category_filter, |
DLOG(ERROR) << "Attempting to re-enable tracing with a different mode."; |
} |
- category_filter_.Merge(category_filter); |
+ trace_config_.Merge(trace_config); |
UpdateCategoryGroupEnabledFlags(); |
return; |
} |
@@ -1391,9 +1386,9 @@ void TraceLog::SetEnabled(const CategoryFilter& category_filter, |
num_traces_recorded_++; |
- category_filter_ = CategoryFilter(category_filter); |
+ trace_config_ = TraceConfig(trace_config); |
UpdateCategoryGroupEnabledFlags(); |
- UpdateSyntheticDelaysFromCategoryFilter(); |
+ UpdateSyntheticDelaysFromTraceConfig(); |
if (new_options & kInternalEnableSampling) { |
sampling_thread_.reset(new TraceSamplingThread); |
@@ -1436,13 +1431,13 @@ void TraceLog::SetArgumentFilterPredicate( |
argument_filter_predicate_ = argument_filter_predicate; |
} |
-TraceLog::InternalTraceOptions TraceLog::GetInternalOptionsFromTraceOptions( |
- const TraceOptions& options) { |
+TraceLog::InternalTraceOptions TraceLog::GetInternalOptionsFromTraceConfig( |
+ const TraceConfig& config) { |
InternalTraceOptions ret = |
- options.enable_sampling ? kInternalEnableSampling : kInternalNone; |
- if (options.enable_argument_filter) |
+ config.IsSamplingEnabled() ? kInternalEnableSampling : kInternalNone; |
+ if (config.IsArgumentFilterEnabled()) |
ret |= kInternalEnableArgumentFilter; |
- switch (options.record_mode) { |
+ switch (config.GetTraceRecordMode()) { |
case RECORD_UNTIL_FULL: |
return ret | kInternalRecordUntilFull; |
case RECORD_CONTINUOUSLY: |
@@ -1456,27 +1451,9 @@ TraceLog::InternalTraceOptions TraceLog::GetInternalOptionsFromTraceOptions( |
return kInternalNone; |
} |
-CategoryFilter TraceLog::GetCurrentCategoryFilter() { |
+TraceConfig TraceLog::GetCurrentTraceConfig() const { |
AutoLock lock(lock_); |
- return category_filter_; |
-} |
- |
-TraceOptions TraceLog::GetCurrentTraceOptions() const { |
- TraceOptions ret; |
- InternalTraceOptions option = trace_options(); |
- ret.enable_sampling = (option & kInternalEnableSampling) != 0; |
- ret.enable_argument_filter = (option & kInternalEnableArgumentFilter) != 0; |
- if (option & kInternalRecordUntilFull) |
- ret.record_mode = RECORD_UNTIL_FULL; |
- else if (option & kInternalRecordContinuously) |
- ret.record_mode = RECORD_CONTINUOUSLY; |
- else if (option & kInternalEchoToConsole) |
- ret.record_mode = ECHO_TO_CONSOLE; |
- else if (option & kInternalRecordAsMuchAsPossible) |
- ret.record_mode = RECORD_AS_MUCH_AS_POSSIBLE; |
- else |
- NOTREACHED(); |
- return ret; |
+ return trace_config_; |
} |
void TraceLog::SetDisabled() { |
@@ -1508,7 +1485,7 @@ void TraceLog::SetDisabledWhileLocked() { |
sampling_thread_.reset(); |
} |
- category_filter_.Clear(); |
+ trace_config_.Clear(); |
subtle::NoBarrier_Store(&watch_category_, 0); |
watch_event_name_ = ""; |
UpdateCategoryGroupEnabledFlags(); |
@@ -1623,12 +1600,12 @@ void TraceLog::CheckIfBufferIsFullWhileLocked() { |
} |
} |
-void TraceLog::SetEventCallbackEnabled(const CategoryFilter& category_filter, |
+void TraceLog::SetEventCallbackEnabled(const TraceConfig& trace_config, |
EventCallback cb) { |
AutoLock lock(lock_); |
subtle::NoBarrier_Store(&event_callback_, |
reinterpret_cast<subtle::AtomicWord>(cb)); |
- event_callback_category_filter_ = category_filter; |
+ event_callback_trace_config_ = trace_config; |
UpdateCategoryGroupEnabledFlags(); |
}; |