| Index: base/debug/trace_event.h
|
| diff --git a/base/debug/trace_event.h b/base/debug/trace_event.h
|
| index 07863ad997b3d56fd46f8033a0775f08b56b279a..f78bb3c998e03dcebadd663599c215afb6013c87 100644
|
| --- a/base/debug/trace_event.h
|
| +++ b/base/debug/trace_event.h
|
| @@ -597,6 +597,14 @@
|
| #define TRACE_EVENT_API_ADD_TRACE_EVENT \
|
| base::debug::TraceLog::GetInstance()->AddTraceEvent
|
|
|
| +// Checks if Android ATrace is enabled.
|
| +#if defined(OS_ANDROID)
|
| +#define TRACE_EVENT_API_IS_ATRACE_ENABLED() \
|
| + base::debug::TraceLog::IsATraceEnabled()
|
| +#else
|
| +#define TRACE_EVENT_API_IS_ATRACE_ENABLED() false
|
| +#endif
|
| +
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|
| // Implementation detail: trace event macros create temporary variables
|
| @@ -626,12 +634,17 @@
|
| INTERNAL_TRACE_EVENT_UID(catstatic))); \
|
| }
|
|
|
| +// Implementation detail: internal macro to check if Android ATrace or the
|
| +// current category (using the current static category variable) is enabled.
|
| +#define INTERNAL_TRACE_EVENT_IS_ATRACE_OR_CATEGORY_ENABLED() \
|
| + TRACE_EVENT_API_IS_ATRACE_ENABLED() || *INTERNAL_TRACE_EVENT_UID(catstatic)
|
| +
|
| // Implementation detail: internal macro to create static category and add
|
| // event if the category is enabled.
|
| #define INTERNAL_TRACE_EVENT_ADD(phase, category, name, flags, ...) \
|
| do { \
|
| INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| - if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \
|
| + if (INTERNAL_TRACE_EVENT_IS_ATRACE_OR_CATEGORY_ENABLED()) { \
|
| trace_event_internal::AddTraceEvent( \
|
| phase, INTERNAL_TRACE_EVENT_UID(catstatic), name, \
|
| trace_event_internal::kNoEventId, flags, ##__VA_ARGS__); \
|
| @@ -645,7 +658,7 @@
|
| INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| trace_event_internal::TraceEndOnScopeClose \
|
| INTERNAL_TRACE_EVENT_UID(profileScope); \
|
| - if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \
|
| + if (INTERNAL_TRACE_EVENT_IS_ATRACE_OR_CATEGORY_ENABLED()) { \
|
| trace_event_internal::AddTraceEvent( \
|
| TRACE_EVENT_PHASE_BEGIN, \
|
| INTERNAL_TRACE_EVENT_UID(catstatic), \
|
| @@ -663,7 +676,7 @@
|
| INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| trace_event_internal::TraceEndOnScopeCloseThreshold \
|
| INTERNAL_TRACE_EVENT_UID(profileScope); \
|
| - if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \
|
| + if (INTERNAL_TRACE_EVENT_IS_ATRACE_OR_CATEGORY_ENABLED()) { \
|
| int INTERNAL_TRACE_EVENT_UID(begin_event_id) = \
|
| trace_event_internal::AddTraceEvent( \
|
| TRACE_EVENT_PHASE_BEGIN, \
|
| @@ -681,7 +694,7 @@
|
| ...) \
|
| do { \
|
| INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| - if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \
|
| + if (INTERNAL_TRACE_EVENT_IS_ATRACE_OR_CATEGORY_ENABLED()) { \
|
| unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \
|
| trace_event_internal::TraceID trace_event_trace_id( \
|
| id, &trace_event_flags); \
|
|
|