Index: base/trace_event/common/trace_event_common.h |
diff --git a/base/trace_event/common/trace_event_common.h b/base/trace_event/common/trace_event_common.h |
index a266cd53dabce54cd6bf3b13a408a98db3824451..92eff024ae00f123714b2f64b04f4b294b5d548e 100644 |
--- a/base/trace_event/common/trace_event_common.h |
+++ b/base/trace_event/common/trace_event_common.h |
@@ -962,6 +962,20 @@ |
TRACE_EVENT_PHASE_DELETE_OBJECT, category_group, name, \ |
TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE) |
+// Records entering and leaving trace event contexts. |category_group| and |
+// |name| specify the context category and type. |context| is a |
+// snapshotted context object id. |
+#define TRACE_EVENT_ENTER_CONTEXT(category_group, name, context) \ |
+ INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ |
+ TRACE_EVENT_PHASE_ENTER_CONTEXT, category_group, name, \ |
+ TRACE_ID_DONT_MANGLE(context), TRACE_EVENT_FLAG_NONE) |
+#define TRACE_EVENT_LEAVE_CONTEXT(category_group, name, context) \ |
+ INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ |
+ TRACE_EVENT_PHASE_LEAVE_CONTEXT, category_group, name, \ |
+ TRACE_ID_DONT_MANGLE(context), TRACE_EVENT_FLAG_NONE) |
+#define TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context) \ |
+ INTERNAL_TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context) |
+ |
// Macro to efficiently determine if a given category group is enabled. |
#define TRACE_EVENT_CATEGORY_GROUP_ENABLED(category_group, ret) \ |
do { \ |
@@ -1025,6 +1039,8 @@ |
#define TRACE_EVENT_PHASE_MEMORY_DUMP ('v') |
#define TRACE_EVENT_PHASE_MARK ('R') |
#define TRACE_EVENT_PHASE_CLOCK_SYNC ('c') |
+#define TRACE_EVENT_PHASE_ENTER_CONTEXT ('(') |
+#define TRACE_EVENT_PHASE_LEAVE_CONTEXT (')') |
// Flags for changing the behavior of TRACE_EVENT_API_ADD_TRACE_EVENT. |
#define TRACE_EVENT_FLAG_NONE (static_cast<unsigned int>(0)) |