OLD | NEW |
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 // | 4 // |
5 // Declaration of a Windows event trace controller class. | 5 // Declaration of a Windows event trace controller class. |
6 // The controller takes care of creating and manipulating event trace | 6 // The controller takes care of creating and manipulating event trace |
7 // sessions. | 7 // sessions. |
8 // | 8 // |
9 // Event tracing for Windows is a system-provided service that provides | 9 // Event tracing for Windows is a system-provided service that provides |
10 // logging control and high-performance transport for generic, binary trace | 10 // logging control and high-performance transport for generic, binary trace |
11 // events. Event trace providers register with the system by their name, | 11 // events. Event trace providers register with the system by their name, |
12 // which is a GUID, and can from that point forward receive callbacks that | 12 // which is a GUID, and can from that point forward receive callbacks that |
13 // start or end tracing and that change their trace level and enable mask. | 13 // start or end tracing and that change their trace level and enable mask. |
14 // | 14 // |
15 // A trace controller can create an event tracing session, which either | 15 // A trace controller can create an event tracing session, which either |
16 // sends events to a binary file, or to a realtime consumer, or both. | 16 // sends events to a binary file, or to a realtime consumer, or both. |
17 // | 17 // |
18 // A trace consumer consumes events from zero or one realtime session, | 18 // A trace consumer consumes events from zero or one realtime session, |
19 // as well as potentially from multiple binary trace files. | 19 // as well as potentially from multiple binary trace files. |
20 #ifndef BASE_WIN_EVENT_TRACE_CONTROLLER_H_ | 20 #ifndef BASE_WIN_EVENT_TRACE_CONTROLLER_H_ |
21 #define BASE_WIN_EVENT_TRACE_CONTROLLER_H_ | 21 #define BASE_WIN_EVENT_TRACE_CONTROLLER_H_ |
22 | 22 |
23 #include <windows.h> | 23 #include <windows.h> |
24 #include <wmistr.h> | 24 #include <wmistr.h> |
25 #include <evntrace.h> | 25 #include <evntrace.h> |
| 26 #include <stddef.h> |
26 #include <string> | 27 #include <string> |
27 | 28 |
28 #include "base/base_export.h" | 29 #include "base/base_export.h" |
29 #include "base/basictypes.h" | 30 #include "base/macros.h" |
30 | 31 |
31 namespace base { | 32 namespace base { |
32 namespace win { | 33 namespace win { |
33 | 34 |
34 // Utility class to make it easier to work with EVENT_TRACE_PROPERTIES. | 35 // Utility class to make it easier to work with EVENT_TRACE_PROPERTIES. |
35 // The EVENT_TRACE_PROPERTIES structure contains information about an | 36 // The EVENT_TRACE_PROPERTIES structure contains information about an |
36 // event tracing session. | 37 // event tracing session. |
37 class BASE_EXPORT EtwTraceProperties { | 38 class BASE_EXPORT EtwTraceProperties { |
38 public: | 39 public: |
39 EtwTraceProperties(); | 40 EtwTraceProperties(); |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 std::wstring session_name_; | 143 std::wstring session_name_; |
143 TRACEHANDLE session_; | 144 TRACEHANDLE session_; |
144 | 145 |
145 DISALLOW_COPY_AND_ASSIGN(EtwTraceController); | 146 DISALLOW_COPY_AND_ASSIGN(EtwTraceController); |
146 }; | 147 }; |
147 | 148 |
148 } // namespace win | 149 } // namespace win |
149 } // namespace base | 150 } // namespace base |
150 | 151 |
151 #endif // BASE_WIN_EVENT_TRACE_CONTROLLER_H_ | 152 #endif // BASE_WIN_EVENT_TRACE_CONTROLLER_H_ |
OLD | NEW |