| 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 |