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

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

Issue 6747014: Base: Last set of files to use BASE_API (for base.dll) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 9 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
OLDNEW
1 // Copyright (c) 2010 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 4
5 // This file contains the Windows-specific declarations for trace_event.h. 5 // This file contains the Windows-specific declarations for trace_event.h.
6 #ifndef BASE_DEBUG_TRACE_EVENT_WIN_H_ 6 #ifndef BASE_DEBUG_TRACE_EVENT_WIN_H_
7 #define BASE_DEBUG_TRACE_EVENT_WIN_H_ 7 #define BASE_DEBUG_TRACE_EVENT_WIN_H_
8 #pragma once 8 #pragma once
9 9
10 #include <string> 10 #include <string>
11
12 #include "base/base_api.h"
11 #include "base/win/event_trace_provider.h" 13 #include "base/win/event_trace_provider.h"
12 14
13 #define TRACE_EVENT_BEGIN(name, id, extra) \ 15 #define TRACE_EVENT_BEGIN(name, id, extra) \
14 base::debug::TraceLog::Trace( \ 16 base::debug::TraceLog::Trace( \
15 name, \ 17 name, \
16 base::debug::TraceLog::EVENT_BEGIN, \ 18 base::debug::TraceLog::EVENT_BEGIN, \
17 reinterpret_cast<const void*>(id), \ 19 reinterpret_cast<const void*>(id), \
18 extra); 20 extra);
19 21
20 #define TRACE_EVENT_END(name, id, extra) \ 22 #define TRACE_EVENT_END(name, id, extra) \
(...skipping 12 matching lines...) Expand all
33 35
34 // Fwd. 36 // Fwd.
35 template <typename Type> 37 template <typename Type>
36 struct StaticMemorySingletonTraits; 38 struct StaticMemorySingletonTraits;
37 39
38 namespace base { 40 namespace base {
39 namespace debug { 41 namespace debug {
40 42
41 // This EtwTraceProvider subclass implements ETW logging 43 // This EtwTraceProvider subclass implements ETW logging
42 // for the macros above on Windows. 44 // for the macros above on Windows.
43 class TraceLog : public base::win::EtwTraceProvider { 45 class BASE_API TraceLog : public base::win::EtwTraceProvider {
44 public: 46 public:
45 enum EventType { 47 enum EventType {
46 EVENT_BEGIN, 48 EVENT_BEGIN,
47 EVENT_END, 49 EVENT_END,
48 EVENT_INSTANT 50 EVENT_INSTANT
49 }; 51 };
50 52
51 // Start logging trace events. 53 // Start logging trace events.
52 // This is a noop in this implementation. 54 // This is a noop in this implementation.
53 static bool StartTracing(); 55 static bool StartTracing();
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 112
111 private: 113 private:
112 // Ensure only the provider can construct us. 114 // Ensure only the provider can construct us.
113 friend struct StaticMemorySingletonTraits<TraceLog>; 115 friend struct StaticMemorySingletonTraits<TraceLog>;
114 TraceLog(); 116 TraceLog();
115 117
116 DISALLOW_COPY_AND_ASSIGN(TraceLog); 118 DISALLOW_COPY_AND_ASSIGN(TraceLog);
117 }; 119 };
118 120
119 // The ETW trace provider GUID. 121 // The ETW trace provider GUID.
120 extern const GUID kChromeTraceProviderName; 122 BASE_API extern const GUID kChromeTraceProviderName;
121 123
122 // The ETW event class GUID for 32 bit events. 124 // The ETW event class GUID for 32 bit events.
123 extern const GUID kTraceEventClass32; 125 BASE_API extern const GUID kTraceEventClass32;
124 126
125 // The ETW event class GUID for 64 bit events. 127 // The ETW event class GUID for 64 bit events.
126 extern const GUID kTraceEventClass64; 128 BASE_API extern const GUID kTraceEventClass64;
127 129
128 // The ETW event types, IDs 0x00-0x09 are reserved, so start at 0x10. 130 // The ETW event types, IDs 0x00-0x09 are reserved, so start at 0x10.
129 const base::win::EtwEventType kTraceEventTypeBegin = 0x10; 131 const base::win::EtwEventType kTraceEventTypeBegin = 0x10;
130 const base::win::EtwEventType kTraceEventTypeEnd = 0x11; 132 const base::win::EtwEventType kTraceEventTypeEnd = 0x11;
131 const base::win::EtwEventType kTraceEventTypeInstant = 0x12; 133 const base::win::EtwEventType kTraceEventTypeInstant = 0x12;
132 134
133 // If this flag is set in enable flags 135 // If this flag is set in enable flags
134 enum TraceEventFlags { 136 enum TraceEventFlags {
135 CAPTURE_STACK_TRACE = 0x0001, 137 CAPTURE_STACK_TRACE = 0x0001,
136 }; 138 };
137 139
138 // The event format consists of: 140 // The event format consists of:
139 // The "name" string as a zero-terminated ASCII string. 141 // The "name" string as a zero-terminated ASCII string.
140 // The id pointer in the machine bitness. 142 // The id pointer in the machine bitness.
141 // The "extra" string as a zero-terminated ASCII string. 143 // The "extra" string as a zero-terminated ASCII string.
142 // Optionally the stack trace, consisting of a DWORD "depth", followed 144 // Optionally the stack trace, consisting of a DWORD "depth", followed
143 // by an array of void* (machine bitness) of length "depth". 145 // by an array of void* (machine bitness) of length "depth".
144 146
145 // Forward decl. 147 // Forward decl.
146 struct TraceLogSingletonTraits; 148 struct TraceLogSingletonTraits;
147 149
148 } // nemspace debug 150 } // nemspace debug
149 } // namespace base 151 } // namespace base
150 152
151 #endif // BASE_DEBUG_TRACE_EVENT_WIN_H_ 153 #endif // BASE_DEBUG_TRACE_EVENT_WIN_H_
OLDNEW
« base/base_api.h ('K') | « base/crypto/symmetric_key.h ('k') | base/event_recorder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698