Index: base/debug/trace_event_internal.h |
diff --git a/base/debug/trace_event_internal.h b/base/debug/trace_event_internal.h |
index 864315e5580f30d56058ffcd1a22727ca0c86d1b..46495f4460c4d60e04d0345359a2dd441f332eb7 100644 |
--- a/base/debug/trace_event_internal.h |
+++ b/base/debug/trace_event_internal.h |
@@ -182,10 +182,11 @@ |
#define UNSHIPPED_TRACE_EVENT1(category, name, arg1_name, arg1_val) (void)0 |
#define UNSHIPPED_TRACE_EVENT2(category, name, arg1_name, arg1_val, \ |
arg2_name, arg2_val) (void)0 |
-#define UNSHIPPED_TRACE_EVENT_INSTANT0(category, name) (void)0 |
-#define UNSHIPPED_TRACE_EVENT_INSTANT1(category, name, arg1_name, arg1_val) \ |
- (void)0 |
-#define UNSHIPPED_TRACE_EVENT_INSTANT2(category, name, arg1_name, arg1_val, \ |
+#define UNSHIPPED_TRACE_EVENT_INSTANT0(category, name, scope) (void)0 |
+#define UNSHIPPED_TRACE_EVENT_INSTANT1(category, name, scope, \ |
+ arg1_name, arg1_val) (void)0 |
+#define UNSHIPPED_TRACE_EVENT_INSTANT2(category, name, scope, \ |
+ arg1_name, arg1_val, \ |
arg2_name, arg2_val) (void)0 |
#else |
#define UNSHIPPED_TRACE_EVENT0(category, name) \ |
@@ -195,13 +196,15 @@ |
#define UNSHIPPED_TRACE_EVENT2(category, name, arg1_name, arg1_val, \ |
arg2_name, arg2_val) \ |
TRACE_EVENT2(category, name, arg1_name, arg1_val, arg2_name, arg2_val) |
-#define UNSHIPPED_TRACE_EVENT_INSTANT0(category, name) \ |
- TRACE_EVENT_INSTANT0(category, name) |
-#define UNSHIPPED_TRACE_EVENT_INSTANT1(category, name, arg1_name, arg1_val) \ |
- TRACE_EVENT_INSTANT1(category, name, arg1_name, arg1_val) |
-#define UNSHIPPED_TRACE_EVENT_INSTANT2(category, name, arg1_name, arg1_val, \ |
+#define UNSHIPPED_TRACE_EVENT_INSTANT0(category, name, scope) \ |
+ TRACE_EVENT_INSTANT0(category, name, scope) |
+#define UNSHIPPED_TRACE_EVENT_INSTANT1(category, name, scope, \ |
+ arg1_name, arg1_val) \ |
+ TRACE_EVENT_INSTANT1(category, name, scope, arg1_name, arg1_val) |
+#define UNSHIPPED_TRACE_EVENT_INSTANT2(category, name, scope, \ |
+ arg1_name, arg1_val, \ |
arg2_name, arg2_val) \ |
- TRACE_EVENT_INSTANT2(category, name, arg1_name, arg1_val, \ |
+ TRACE_EVENT_INSTANT2(category, name, scope, arg1_name, arg1_val, \ |
arg2_name, arg2_val) |
#endif |
@@ -210,28 +213,31 @@ |
// does nothing. |
// - category and name strings must have application lifetime (statics or |
// literals). They may not include " chars. |
-#define TRACE_EVENT_INSTANT0(category, name) \ |
+#define TRACE_EVENT_INSTANT0(category, name, scope) \ |
INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
- category, name, TRACE_EVENT_FLAG_NONE) |
-#define TRACE_EVENT_INSTANT1(category, name, arg1_name, arg1_val) \ |
+ category, name, TRACE_EVENT_FLAG_NONE | scope) |
+#define TRACE_EVENT_INSTANT1(category, name, scope, arg1_name, arg1_val) \ |
INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
- category, name, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
-#define TRACE_EVENT_INSTANT2(category, name, arg1_name, arg1_val, \ |
- arg2_name, arg2_val) \ |
+ category, name, TRACE_EVENT_FLAG_NONE | scope, \ |
+ arg1_name, arg1_val) |
+#define TRACE_EVENT_INSTANT2(category, name, scope, arg1_name, arg1_val, \ |
+ arg2_name, arg2_val) \ |
INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
- category, name, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \ |
- arg2_name, arg2_val) |
-#define TRACE_EVENT_COPY_INSTANT0(category, name) \ |
+ category, name, TRACE_EVENT_FLAG_NONE | scope, \ |
+ arg1_name, arg1_val, arg2_name, arg2_val) |
+#define TRACE_EVENT_COPY_INSTANT0(category, name, scope) \ |
INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
- category, name, TRACE_EVENT_FLAG_COPY) |
-#define TRACE_EVENT_COPY_INSTANT1(category, name, arg1_name, arg1_val) \ |
+ category, name, TRACE_EVENT_FLAG_COPY | scope) |
+#define TRACE_EVENT_COPY_INSTANT1(category, name, scope, \ |
+ arg1_name, arg1_val) \ |
INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
- category, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val) |
-#define TRACE_EVENT_COPY_INSTANT2(category, name, arg1_name, arg1_val, \ |
- arg2_name, arg2_val) \ |
+ category, name, TRACE_EVENT_FLAG_COPY | scope, arg1_name, arg1_val) |
+#define TRACE_EVENT_COPY_INSTANT2(category, name, scope, \ |
+ arg1_name, arg1_val, \ |
+ arg2_name, arg2_val) \ |
INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_INSTANT, \ |
- category, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, \ |
- arg2_name, arg2_val) |
+ category, name, TRACE_EVENT_FLAG_COPY | scope, \ |
+ arg1_name, arg1_val, arg2_name, arg2_val) |
// Sets the current sample state to the given category and name (both must be |
// constant strings). These states are intended for a sampling profiler. |
@@ -694,7 +700,7 @@ |
// Phase indicates the nature of an event entry. E.g. part of a begin/end pair. |
#define TRACE_EVENT_PHASE_BEGIN ('B') |
#define TRACE_EVENT_PHASE_END ('E') |
-#define TRACE_EVENT_PHASE_INSTANT ('I') |
+#define TRACE_EVENT_PHASE_INSTANT ('i') |
#define TRACE_EVENT_PHASE_ASYNC_BEGIN ('S') |
#define TRACE_EVENT_PHASE_ASYNC_STEP ('T') |
#define TRACE_EVENT_PHASE_ASYNC_END ('F') |
@@ -708,10 +714,14 @@ |
#define TRACE_EVENT_PHASE_DELETE_OBJECT ('D') |
// Flags for changing the behavior of TRACE_EVENT_API_ADD_TRACE_EVENT. |
-#define TRACE_EVENT_FLAG_NONE (static_cast<unsigned char>(0)) |
-#define TRACE_EVENT_FLAG_COPY (static_cast<unsigned char>(1 << 0)) |
-#define TRACE_EVENT_FLAG_HAS_ID (static_cast<unsigned char>(1 << 1)) |
-#define TRACE_EVENT_FLAG_MANGLE_ID (static_cast<unsigned char>(1 << 2)) |
+#define TRACE_EVENT_FLAG_NONE (static_cast<unsigned char>(0)) |
+#define TRACE_EVENT_FLAG_COPY (static_cast<unsigned char>(1 << 0)) |
+#define TRACE_EVENT_FLAG_HAS_ID (static_cast<unsigned char>(1 << 1)) |
+#define TRACE_EVENT_FLAG_MANGLE_ID (static_cast<unsigned char>(1 << 2)) |
+#define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast<unsigned char>(1 << 3)) |
+ |
+#define TRACE_EVENT_FLAG_SCOPE_MASK (static_cast<unsigned char>( \ |
+ TRACE_EVENT_FLAG_SCOPE_OFFSET | (TRACE_EVENT_FLAG_SCOPE_OFFSET << 1))) |
// Type values for identifying types in the TraceValue union. |
#define TRACE_VALUE_TYPE_BOOL (static_cast<unsigned char>(1)) |
@@ -722,6 +732,16 @@ |
#define TRACE_VALUE_TYPE_STRING (static_cast<unsigned char>(6)) |
#define TRACE_VALUE_TYPE_COPY_STRING (static_cast<unsigned char>(7)) |
+// Enum reflecting the scope of an INSTANT event. Must fit within |
+// TRACE_EVENT_FLAG_SCOPE_MASK. |
+#define TRACE_EVENT_SCOPE_GLOBAL (static_cast<unsigned char>(0 << 3)) |
+#define TRACE_EVENT_SCOPE_PROCESS (static_cast<unsigned char>(1 << 3)) |
+#define TRACE_EVENT_SCOPE_THREAD (static_cast<unsigned char>(2 << 3)) |
+ |
+#define TRACE_EVENT_SCOPE_NAME_GLOBAL ('g') |
+#define TRACE_EVENT_SCOPE_NAME_PROCESS ('p') |
+#define TRACE_EVENT_SCOPE_NAME_THREAD ('t') |
+ |
namespace trace_event_internal { |
// Specify these values when the corresponding argument of AddTraceEvent is not |