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

Side by Side Diff: base/debug/trace_event_win.cc

Issue 9155024: Allow tracing in third_party libraries (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: win compile Created 8 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « base/debug/trace_event_win.h ('k') | base/test/trace_event_analyzer.h » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "base/debug/trace_event_win.h" 4 #include "base/debug/trace_event_win.h"
5 5
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/memory/singleton.h" 7 #include "base/memory/singleton.h"
8 #include <initguid.h> // NOLINT 8 #include <initguid.h> // NOLINT
9 9
10 namespace base { 10 namespace base {
(...skipping 24 matching lines...) Expand all
35 return Singleton<TraceEventETWProvider, 35 return Singleton<TraceEventETWProvider,
36 StaticMemorySingletonTraits<TraceEventETWProvider> >::get(); 36 StaticMemorySingletonTraits<TraceEventETWProvider> >::get();
37 } 37 }
38 38
39 bool TraceEventETWProvider::StartTracing() { 39 bool TraceEventETWProvider::StartTracing() {
40 return true; 40 return true;
41 } 41 }
42 42
43 void TraceEventETWProvider::TraceEvent(const char* name, 43 void TraceEventETWProvider::TraceEvent(const char* name,
44 size_t name_len, 44 size_t name_len,
45 TraceEventPhase type, 45 char type,
46 const void* id, 46 const void* id,
47 const char* extra, 47 const char* extra,
48 size_t extra_len) { 48 size_t extra_len) {
49 // Make sure we don't touch NULL. 49 // Make sure we don't touch NULL.
50 if (name == NULL) 50 if (name == NULL)
51 name = ""; 51 name = "";
52 if (extra == NULL) 52 if (extra == NULL)
53 extra = ""; 53 extra = "";
54 54
55 EtwEventType etw_type = 0; 55 EtwEventType etw_type = 0;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 event.SetField(3, sizeof(depth), &depth); 89 event.SetField(3, sizeof(depth), &depth);
90 event.SetField(4, sizeof(backtrace[0]) * depth, backtrace); 90 event.SetField(4, sizeof(backtrace[0]) * depth, backtrace);
91 } 91 }
92 92
93 // Trace the event. 93 // Trace the event.
94 Log(event.get()); 94 Log(event.get());
95 } 95 }
96 96
97 void TraceEventETWProvider::Trace(const char* name, 97 void TraceEventETWProvider::Trace(const char* name,
98 size_t name_len, 98 size_t name_len,
99 TraceEventPhase type, 99 char type,
100 const void* id, 100 const void* id,
101 const char* extra, 101 const char* extra,
102 size_t extra_len) { 102 size_t extra_len) {
103 TraceEventETWProvider* provider = TraceEventETWProvider::GetInstance(); 103 TraceEventETWProvider* provider = TraceEventETWProvider::GetInstance();
104 if (provider && provider->IsTracing()) { 104 if (provider && provider->IsTracing()) {
105 // Compute the name & extra lengths if not supplied already. 105 // Compute the name & extra lengths if not supplied already.
106 if (name_len == -1) 106 if (name_len == -1)
107 name_len = (name == NULL) ? 0 : strlen(name); 107 name_len = (name == NULL) ? 0 : strlen(name);
108 if (extra_len == -1) 108 if (extra_len == -1)
109 extra_len = (extra == NULL) ? 0 : strlen(extra); 109 extra_len = (extra == NULL) ? 0 : strlen(extra);
110 110
111 provider->TraceEvent(name, name_len, type, id, extra, extra_len); 111 provider->TraceEvent(name, name_len, type, id, extra, extra_len);
112 } 112 }
113 } 113 }
114 114
115 void TraceEventETWProvider::Resurrect() { 115 void TraceEventETWProvider::Resurrect() {
116 StaticMemorySingletonTraits<TraceEventETWProvider>::Resurrect(); 116 StaticMemorySingletonTraits<TraceEventETWProvider>::Resurrect();
117 } 117 }
118 118
119 } // namespace debug 119 } // namespace debug
120 } // namespace base 120 } // namespace base
OLDNEW
« no previous file with comments | « base/debug/trace_event_win.h ('k') | base/test/trace_event_analyzer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698