diff options
author | wangxianzhu@chromium.org <wangxianzhu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-16 00:05:18 +0000 |
---|---|---|
committer | wangxianzhu@chromium.org <wangxianzhu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-16 00:05:18 +0000 |
commit | 53e6eb13e0972462dd83108e3b264ee5069aeee2 (patch) | |
tree | 3417429fb69161623e33d7a5fb27cbcf591227bf /base/debug/trace_event_impl.cc | |
parent | e07556d897a812dad540c6c8b9ead4ef6f366e43 (diff) | |
download | chromium_src-53e6eb13e0972462dd83108e3b264ee5069aeee2.zip chromium_src-53e6eb13e0972462dd83108e3b264ee5069aeee2.tar.gz chromium_src-53e6eb13e0972462dd83108e3b264ee5069aeee2.tar.bz2 |
Enable chromium trace when atrace is started.
The X event change (https://codereview.chromium.org/23799005/) depends
on the TraceBuffer to handle X events, so we need to enable chromium
trace when using systrace on Android to trace WebView or Chrome.
Part of this change is separated from https://codereview.chromium.org/26675003/
which is not ready to submit before WebView and Android are ready for
combined trace.
BUG=trace-viewer:142
Review URL: https://codereview.chromium.org/26848006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228813 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/debug/trace_event_impl.cc')
-rw-r--r-- | base/debug/trace_event_impl.cc | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/base/debug/trace_event_impl.cc b/base/debug/trace_event_impl.cc index e606717..6a0bff9 100644 --- a/base/debug/trace_event_impl.cc +++ b/base/debug/trace_event_impl.cc @@ -1212,9 +1212,10 @@ const char* TraceLog::GetCategoryGroupName( } void TraceLog::UpdateCategoryGroupEnabledFlag(int category_index) { - bool is_enabled = enable_count_ && category_filter_.IsCategoryGroupEnabled( - g_category_groups[category_index]); - SetCategoryGroupEnabled(category_index, is_enabled); + g_category_group_enabled[category_index] = + enable_count_ && + category_filter_.IsCategoryGroupEnabled( + g_category_groups[category_index]); } void TraceLog::UpdateCategoryGroupEnabledFlags() { @@ -1222,22 +1223,6 @@ void TraceLog::UpdateCategoryGroupEnabledFlags() { UpdateCategoryGroupEnabledFlag(i); } -void TraceLog::SetCategoryGroupEnabled(int category_index, bool is_enabled) { - g_category_group_enabled[category_index] = - is_enabled ? CATEGORY_GROUP_ENABLED : 0; - -#if defined(OS_ANDROID) - ApplyATraceEnabledFlag(&g_category_group_enabled[category_index]); -#endif -} - -bool TraceLog::IsCategoryGroupEnabled( - const unsigned char* category_group_enabled) { - // On Android, ATrace and normal trace can be enabled independently. - // This function checks if the normal trace is enabled. - return *category_group_enabled & CATEGORY_GROUP_ENABLED; -} - const unsigned char* TraceLog::GetCategoryGroupEnabledInternal( const char* category_group) { DCHECK(!strchr(category_group, '"')) << @@ -1700,6 +1685,9 @@ void TraceLog::AddTraceEventWithThreadIdAndTimestamp( const unsigned long long* arg_values, const scoped_refptr<ConvertableToTraceFormat>* convertable_values, unsigned char flags) { + if (!*category_group_enabled) + return; + DCHECK(name); if (flags & TRACE_EVENT_FLAG_MANGLE_ID) @@ -1711,9 +1699,6 @@ void TraceLog::AddTraceEventWithThreadIdAndTimestamp( flags); #endif - if (!IsCategoryGroupEnabled(category_group_enabled)) - return; - TimeTicks now = timestamp - time_offset_; TimeTicks thread_now = ThreadNow(); |