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 f65b35bcc46e632150ed81260da87e92ae7ac23e..0b549d43d70799884c33499d64a67e5a0aa22d0f 100644 |
--- a/base/trace_event/common/trace_event_common.h |
+++ b/base/trace_event/common/trace_event_common.h |
@@ -926,6 +926,15 @@ |
name, id, TRACE_EVENT_FLAG_COPY, arg1_name, \ |
arg1_val, arg2_name, arg2_val) |
+// Special trace event macro to trace task execution with the location where it |
+// was posted from. |
+#define TRACE_TASK_EXECUTION(run_function, task) \ |
+ TRACE_EVENT2("toplevel", run_function, "src_file", \ |
+ (task).posted_from.file_name(), "src_func", \ |
+ (task).posted_from.function_name()); \ |
+ TRACE_EVENT_API_SCOPED_TASK_EXECUTION_EVENT INTERNAL_TRACE_EVENT_UID( \ |
+ task_event)((task).posted_from.file_name()); |
+ |
// TRACE_EVENT_METADATA* events are information related to other |
// injected events, not events in their own right. |
#define TRACE_EVENT_METADATA1(category_group, name, arg1_name, arg1_val) \ |