Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Side by Side Diff: base/trace_event/trace_event_impl.cc

Issue 1087733002: Revert "Add option to export tracing events to ETW." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/trace_event/trace_event_impl.h ('k') | chrome/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/trace_event/trace_event_impl.h" 5 #include "base/trace_event/trace_event_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 18 matching lines...) Expand all
29 #include "base/sys_info.h" 29 #include "base/sys_info.h"
30 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" 30 #include "base/third_party/dynamic_annotations/dynamic_annotations.h"
31 #include "base/threading/platform_thread.h" 31 #include "base/threading/platform_thread.h"
32 #include "base/threading/thread_id_name_manager.h" 32 #include "base/threading/thread_id_name_manager.h"
33 #include "base/threading/worker_pool.h" 33 #include "base/threading/worker_pool.h"
34 #include "base/time/time.h" 34 #include "base/time/time.h"
35 #include "base/trace_event/trace_event.h" 35 #include "base/trace_event/trace_event.h"
36 #include "base/trace_event/trace_event_synthetic_delay.h" 36 #include "base/trace_event/trace_event_synthetic_delay.h"
37 37
38 #if defined(OS_WIN) 38 #if defined(OS_WIN)
39 #include "base/trace_event/trace_event_etw_export_win.h"
40 #include "base/trace_event/trace_event_win.h" 39 #include "base/trace_event/trace_event_win.h"
41 #endif 40 #endif
42 41
43 class DeleteTraceLogForTesting { 42 class DeleteTraceLogForTesting {
44 public: 43 public:
45 static void Delete() { 44 static void Delete() {
46 Singleton<base::trace_event::TraceLog, 45 Singleton<base::trace_event::TraceLog,
47 LeakySingletonTraits<base::trace_event::TraceLog>>::OnExit(0); 46 LeakySingletonTraits<base::trace_event::TraceLog>>::OnExit(0);
48 } 47 }
49 }; 48 };
(...skipping 1236 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 const char* category_group = g_category_groups[category_index]; 1285 const char* category_group = g_category_groups[category_index];
1287 if (mode_ == RECORDING_MODE && 1286 if (mode_ == RECORDING_MODE &&
1288 category_filter_.IsCategoryGroupEnabled(category_group)) 1287 category_filter_.IsCategoryGroupEnabled(category_group))
1289 enabled_flag |= ENABLED_FOR_RECORDING; 1288 enabled_flag |= ENABLED_FOR_RECORDING;
1290 else if (mode_ == MONITORING_MODE && 1289 else if (mode_ == MONITORING_MODE &&
1291 category_filter_.IsCategoryGroupEnabled(category_group)) 1290 category_filter_.IsCategoryGroupEnabled(category_group))
1292 enabled_flag |= ENABLED_FOR_MONITORING; 1291 enabled_flag |= ENABLED_FOR_MONITORING;
1293 if (event_callback_ && 1292 if (event_callback_ &&
1294 event_callback_category_filter_.IsCategoryGroupEnabled(category_group)) 1293 event_callback_category_filter_.IsCategoryGroupEnabled(category_group))
1295 enabled_flag |= ENABLED_FOR_EVENT_CALLBACK; 1294 enabled_flag |= ENABLED_FOR_EVENT_CALLBACK;
1296 #if defined(OS_WIN)
1297 if (base::trace_event::TraceEventETWExport::isETWExportEnabled())
1298 enabled_flag |= ENABLED_FOR_ETW_EXPORT;
1299 #endif
1300
1301 g_category_group_enabled[category_index] = enabled_flag; 1295 g_category_group_enabled[category_index] = enabled_flag;
1302 } 1296 }
1303 1297
1304 void TraceLog::UpdateCategoryGroupEnabledFlags() { 1298 void TraceLog::UpdateCategoryGroupEnabledFlags() {
1305 size_t category_index = base::subtle::NoBarrier_Load(&g_category_index); 1299 size_t category_index = base::subtle::NoBarrier_Load(&g_category_index);
1306 for (size_t i = 0; i < category_index; i++) 1300 for (size_t i = 0; i < category_index; i++)
1307 UpdateCategoryGroupEnabledFlag(i); 1301 UpdateCategoryGroupEnabledFlag(i);
1308 } 1302 }
1309 1303
1310 void TraceLog::UpdateSyntheticDelaysFromCategoryFilter() { 1304 void TraceLog::UpdateSyntheticDelaysFromCategoryFilter() {
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after
1983 new_name) != existing_names.end(); 1977 new_name) != existing_names.end();
1984 if (!found) { 1978 if (!found) {
1985 if (existing_names.size()) 1979 if (existing_names.size())
1986 existing_name->second.push_back(','); 1980 existing_name->second.push_back(',');
1987 existing_name->second.append(new_name); 1981 existing_name->second.append(new_name);
1988 } 1982 }
1989 } 1983 }
1990 } 1984 }
1991 } 1985 }
1992 1986
1993 #if defined(OS_WIN)
1994 // This is done sooner rather than later, to avoid creating the event and
1995 // acquiring the lock, which is not needed for ETW as it's already threadsafe.
1996 if (*category_group_enabled & ENABLED_FOR_ETW_EXPORT)
1997 TraceEventETWExport::AddEvent(phase, category_group_enabled, name, id,
1998 num_args, arg_names, arg_types, arg_values,
1999 convertable_values);
2000 #endif // OS_WIN
2001
2002 std::string console_message; 1987 std::string console_message;
2003 if (*category_group_enabled & 1988 if (*category_group_enabled &
2004 (ENABLED_FOR_RECORDING | ENABLED_FOR_MONITORING)) { 1989 (ENABLED_FOR_RECORDING | ENABLED_FOR_MONITORING)) {
2005 OptionalAutoLock lock(&lock_); 1990 OptionalAutoLock lock(&lock_);
2006 1991
2007 TraceEvent* trace_event = NULL; 1992 TraceEvent* trace_event = NULL;
2008 if (thread_local_event_buffer) { 1993 if (thread_local_event_buffer) {
2009 trace_event = thread_local_event_buffer->AddTraceEvent(&handle); 1994 trace_event = thread_local_event_buffer->AddTraceEvent(&handle);
2010 } else { 1995 } else {
2011 lock.EnsureAcquired(); 1996 lock.EnsureAcquired();
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
2630 } 2615 }
2631 2616
2632 ScopedTraceBinaryEfficient::~ScopedTraceBinaryEfficient() { 2617 ScopedTraceBinaryEfficient::~ScopedTraceBinaryEfficient() {
2633 if (*category_group_enabled_) { 2618 if (*category_group_enabled_) {
2634 TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(category_group_enabled_, 2619 TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(category_group_enabled_,
2635 name_, event_handle_); 2620 name_, event_handle_);
2636 } 2621 }
2637 } 2622 }
2638 2623
2639 } // namespace trace_event_internal 2624 } // namespace trace_event_internal
OLDNEW
« no previous file with comments | « base/trace_event/trace_event_impl.h ('k') | chrome/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698