summaryrefslogtreecommitdiffstats
path: root/base/debug/trace_event_impl.cc
diff options
context:
space:
mode:
authorwangxianzhu@chromium.org <wangxianzhu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-16 00:05:18 +0000
committerwangxianzhu@chromium.org <wangxianzhu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-16 00:05:18 +0000
commit53e6eb13e0972462dd83108e3b264ee5069aeee2 (patch)
tree3417429fb69161623e33d7a5fb27cbcf591227bf /base/debug/trace_event_impl.cc
parente07556d897a812dad540c6c8b9ead4ef6f366e43 (diff)
downloadchromium_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.cc29
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();