| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "base/event_trace_provider_win.h" | 11 #include "base/win/event_trace_provider.h" |
| 12 | 12 |
| 13 #define TRACE_EVENT_BEGIN(name, id, extra) \ | 13 #define TRACE_EVENT_BEGIN(name, id, extra) \ |
| 14 base::debug::TraceLog::Trace( \ | 14 base::debug::TraceLog::Trace( \ |
| 15 name, \ | 15 name, \ |
| 16 base::debug::TraceLog::EVENT_BEGIN, \ | 16 base::debug::TraceLog::EVENT_BEGIN, \ |
| 17 reinterpret_cast<const void*>(id), \ | 17 reinterpret_cast<const void*>(id), \ |
| 18 extra); | 18 extra); |
| 19 | 19 |
| 20 #define TRACE_EVENT_END(name, id, extra) \ | 20 #define TRACE_EVENT_END(name, id, extra) \ |
| 21 base::debug::TraceLog::Trace( \ | 21 base::debug::TraceLog::Trace( \ |
| (...skipping 11 matching lines...) Expand all Loading... |
| 33 | 33 |
| 34 // Fwd. | 34 // Fwd. |
| 35 template <typename Type> | 35 template <typename Type> |
| 36 struct StaticMemorySingletonTraits; | 36 struct StaticMemorySingletonTraits; |
| 37 | 37 |
| 38 namespace base { | 38 namespace base { |
| 39 namespace debug { | 39 namespace debug { |
| 40 | 40 |
| 41 // This EtwTraceProvider subclass implements ETW logging | 41 // This EtwTraceProvider subclass implements ETW logging |
| 42 // for the macros above on Windows. | 42 // for the macros above on Windows. |
| 43 class TraceLog : public EtwTraceProvider { | 43 class TraceLog : public base::win::EtwTraceProvider { |
| 44 public: | 44 public: |
| 45 enum EventType { | 45 enum EventType { |
| 46 EVENT_BEGIN, | 46 EVENT_BEGIN, |
| 47 EVENT_END, | 47 EVENT_END, |
| 48 EVENT_INSTANT | 48 EVENT_INSTANT |
| 49 }; | 49 }; |
| 50 | 50 |
| 51 // Start logging trace events. | 51 // Start logging trace events. |
| 52 // This is a noop in this implementation. | 52 // This is a noop in this implementation. |
| 53 static bool StartTracing(); | 53 static bool StartTracing(); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 // The ETW trace provider GUID. | 119 // The ETW trace provider GUID. |
| 120 extern const GUID kChromeTraceProviderName; | 120 extern const GUID kChromeTraceProviderName; |
| 121 | 121 |
| 122 // The ETW event class GUID for 32 bit events. | 122 // The ETW event class GUID for 32 bit events. |
| 123 extern const GUID kTraceEventClass32; | 123 extern const GUID kTraceEventClass32; |
| 124 | 124 |
| 125 // The ETW event class GUID for 64 bit events. | 125 // The ETW event class GUID for 64 bit events. |
| 126 extern const GUID kTraceEventClass64; | 126 extern const GUID kTraceEventClass64; |
| 127 | 127 |
| 128 // The ETW event types, IDs 0x00-0x09 are reserved, so start at 0x10. | 128 // The ETW event types, IDs 0x00-0x09 are reserved, so start at 0x10. |
| 129 const EtwEventType kTraceEventTypeBegin = 0x10; | 129 const base::win::EtwEventType kTraceEventTypeBegin = 0x10; |
| 130 const EtwEventType kTraceEventTypeEnd = 0x11; | 130 const base::win::EtwEventType kTraceEventTypeEnd = 0x11; |
| 131 const EtwEventType kTraceEventTypeInstant = 0x12; | 131 const base::win::EtwEventType kTraceEventTypeInstant = 0x12; |
| 132 | 132 |
| 133 // If this flag is set in enable flags | 133 // If this flag is set in enable flags |
| 134 enum TraceEventFlags { | 134 enum TraceEventFlags { |
| 135 CAPTURE_STACK_TRACE = 0x0001, | 135 CAPTURE_STACK_TRACE = 0x0001, |
| 136 }; | 136 }; |
| 137 | 137 |
| 138 // The event format consists of: | 138 // The event format consists of: |
| 139 // The "name" string as a zero-terminated ASCII string. | 139 // The "name" string as a zero-terminated ASCII string. |
| 140 // The id pointer in the machine bitness. | 140 // The id pointer in the machine bitness. |
| 141 // The "extra" string as a zero-terminated ASCII string. | 141 // The "extra" string as a zero-terminated ASCII string. |
| 142 // Optionally the stack trace, consisting of a DWORD "depth", followed | 142 // Optionally the stack trace, consisting of a DWORD "depth", followed |
| 143 // by an array of void* (machine bitness) of length "depth". | 143 // by an array of void* (machine bitness) of length "depth". |
| 144 | 144 |
| 145 // Forward decl. | 145 // Forward decl. |
| 146 struct TraceLogSingletonTraits; | 146 struct TraceLogSingletonTraits; |
| 147 | 147 |
| 148 } // nemspace debug | 148 } // nemspace debug |
| 149 } // namespace base | 149 } // namespace base |
| 150 | 150 |
| 151 #endif // BASE_DEBUG_TRACE_EVENT_WIN_H_ | 151 #endif // BASE_DEBUG_TRACE_EVENT_WIN_H_ |
| OLD | NEW |