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

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

Issue 1141793003: Update from https://crrev.com/329939 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 7 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_etw_export_win.h ('k') | base/trace_event/trace_event_memory.cc » ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_etw_export_win.h" 5 #include "base/trace_event/trace_event_etw_export_win.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/singleton.h" 9 #include "base/memory/singleton.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 } 99 }
100 100
101 // static 101 // static
102 TraceEventETWExport* TraceEventETWExport::GetInstance() { 102 TraceEventETWExport* TraceEventETWExport::GetInstance() {
103 return Singleton<TraceEventETWExport, 103 return Singleton<TraceEventETWExport,
104 StaticMemorySingletonTraits<TraceEventETWExport>>::get(); 104 StaticMemorySingletonTraits<TraceEventETWExport>>::get();
105 } 105 }
106 106
107 // static 107 // static
108 void TraceEventETWExport::EnableETWExport() { 108 void TraceEventETWExport::EnableETWExport() {
109 GetInstance()->ETWExportEnabled_ = true; 109 if (GetInstance())
110 GetInstance()->ETWExportEnabled_ = true;
110 } 111 }
111 112
112 // static 113 // static
113 void TraceEventETWExport::DisableETWExport() { 114 void TraceEventETWExport::DisableETWExport() {
114 GetInstance()->ETWExportEnabled_ = false; 115 if (GetInstance())
116 GetInstance()->ETWExportEnabled_ = false;
115 } 117 }
116 118
117 // static 119 // static
118 void TraceEventETWExport::AddEvent( 120 void TraceEventETWExport::AddEvent(
119 char phase, 121 char phase,
120 const unsigned char* category_group_enabled, 122 const unsigned char* category_group_enabled,
121 const char* name, 123 const char* name,
122 unsigned long long id, 124 unsigned long long id,
123 int num_args, 125 int num_args,
124 const char** arg_names, 126 const char** arg_names,
125 const unsigned char* arg_types, 127 const unsigned char* arg_types,
126 const unsigned long long* arg_values, 128 const unsigned long long* arg_values,
127 const scoped_refptr<ConvertableToTraceFormat>* convertable_values) { 129 const scoped_refptr<ConvertableToTraceFormat>* convertable_values) {
128 // We bail early in case exporting is disabled or no consumer is listening. 130 // We bail early in case exporting is disabled or no consumer is listening.
129 if (!GetInstance()->ETWExportEnabled_ || !EventEnabledChromeEvent()) 131 if (!GetInstance() || !GetInstance()->ETWExportEnabled_ ||
132 !EventEnabledChromeEvent())
130 return; 133 return;
131 134
132 std::string phase_string; 135 std::string phase_string;
133 switch (phase) { 136 switch (phase) {
134 case TRACE_EVENT_PHASE_BEGIN: 137 case TRACE_EVENT_PHASE_BEGIN:
135 phase_string = "Begin"; 138 phase_string = "Begin";
136 break; 139 break;
137 case TRACE_EVENT_PHASE_END: 140 case TRACE_EVENT_PHASE_END:
138 phase_string = "End"; 141 phase_string = "End";
139 break; 142 break;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 220
218 // static 221 // static
219 void TraceEventETWExport::AddCustomEvent(const char* name, 222 void TraceEventETWExport::AddCustomEvent(const char* name,
220 char const* phase, 223 char const* phase,
221 const char* arg_name_1, 224 const char* arg_name_1,
222 const char* arg_value_1, 225 const char* arg_value_1,
223 const char* arg_name_2, 226 const char* arg_name_2,
224 const char* arg_value_2, 227 const char* arg_value_2,
225 const char* arg_name_3, 228 const char* arg_name_3,
226 const char* arg_value_3) { 229 const char* arg_value_3) {
227 if (!GetInstance()->ETWExportEnabled_ || !EventEnabledChromeEvent()) 230 if (!GetInstance() || !GetInstance()->ETWExportEnabled_ ||
231 !EventEnabledChromeEvent())
228 return; 232 return;
229 233
230 EventWriteChromeEvent(name, phase, arg_name_1, arg_value_1, arg_name_2, 234 EventWriteChromeEvent(name, phase, arg_name_1, arg_value_1, arg_name_2,
231 arg_value_2, arg_name_3, arg_value_3); 235 arg_value_2, arg_name_3, arg_value_3);
232 } 236 }
233 237
234 void TraceEventETWExport::Resurrect() { 238 void TraceEventETWExport::Resurrect() {
235 StaticMemorySingletonTraits<TraceEventETWExport>::Resurrect(); 239 StaticMemorySingletonTraits<TraceEventETWExport>::Resurrect();
236 } 240 }
237 241
238 } // namespace trace_event 242 } // namespace trace_event
239 } // namespace base 243 } // namespace base
OLDNEW
« no previous file with comments | « base/trace_event/trace_event_etw_export_win.h ('k') | base/trace_event/trace_event_memory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698