Index: base/trace_event/trace_event_impl.cc |
diff --git a/base/trace_event/trace_event_impl.cc b/base/trace_event/trace_event_impl.cc |
index 72b46f92914c8d73d51068324f6c2a757371b5d1..d57481a67d5eec72359506dcd08786663178d616 100644 |
--- a/base/trace_event/trace_event_impl.cc |
+++ b/base/trace_event/trace_event_impl.cc |
@@ -35,6 +35,7 @@ |
#include "base/trace_event/trace_event_synthetic_delay.h" |
#if defined(OS_WIN) |
+#include "base/trace_event/trace_event_etw_export_win.h" |
#include "base/trace_event/trace_event_win.h" |
#endif |
@@ -1290,6 +1291,11 @@ void TraceLog::UpdateCategoryGroupEnabledFlag(size_t category_index) { |
if (event_callback_ && |
event_callback_category_filter_.IsCategoryGroupEnabled(category_group)) |
enabled_flag |= ENABLED_FOR_EVENT_CALLBACK; |
+#if defined(OS_WIN) |
+ if (base::trace_event::TraceEventETWExport::isETWExportEnabled()) |
+ enabled_flag |= ENABLED_FOR_ETW_EXPORT; |
+#endif |
+ |
g_category_group_enabled[category_index] = enabled_flag; |
} |
@@ -1896,6 +1902,13 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp( |
if (!*category_group_enabled) |
return handle; |
+#if defined(OS_WIN) |
+ if (*category_group_enabled & ENABLED_FOR_ETW_EXPORT) |
dsinclair
2015/03/26 18:18:17
I think this should be down around where the andro
Georges Khalil
2015/03/26 23:09:19
After discussion, brought this down but before the
|
+ TraceEventETWExport::AddEvent(phase, category_group_enabled, name, id, |
+ num_args, arg_names, arg_types, arg_values, |
+ convertable_values); |
+#endif // OS_WIN |
+ |
// Avoid re-entrance of AddTraceEvent. This may happen in GPU process when |
// ECHO_TO_CONSOLE is enabled: AddTraceEvent -> LOG(ERROR) -> |
// GpuProcessLogMessageHandler -> PostPendingTask -> TRACE_EVENT ... |
@@ -2114,6 +2127,12 @@ void TraceLog::UpdateTraceEventDuration( |
const unsigned char* category_group_enabled, |
const char* name, |
TraceEventHandle handle) { |
+#if defined(OS_WIN) |
+ if (*category_group_enabled & ENABLED_FOR_ETW_EXPORT) |
+ TraceEventETWExport::AddEvent(TRACE_EVENT_PHASE_END, category_group_enabled, |
dsinclair
2015/03/26 18:18:17
This isn't what you want here. This is just going
Georges Khalil
2015/03/26 23:09:19
After review and discussion, this code should be r
|
+ name, 0, 0, NULL, NULL, NULL, NULL); |
+#endif // OS_WIN |
+ |
// Avoid re-entrance of AddTraceEvent. This may happen in GPU process when |
// ECHO_TO_CONSOLE is enabled: AddTraceEvent -> LOG(ERROR) -> |
// GpuProcessLogMessageHandler -> PostPendingTask -> TRACE_EVENT ... |