Event Source Класс
Определение
Предоставляет возможность создания событий для трассировки событий Windows (ETW). Provides the ability to create events for event tracing for Windows (ETW).
Примеры
В следующем примере показана простая реализация EventSource класса. The following example shows a simple implementation of the EventSource class.
В следующем примере показана более сложная реализация EventSource класса. The following example shows a more complex implementation of the EventSource class.
Комментарии
Этот класс предназначен для наследования классом пользователя, который предоставляет определенные события для использования в ETW. This class is intended to be inherited by a user class that provides specific events to be used for ETW. EventSource.WriteEventМетоды вызываются для записи событий в журнал. The EventSource.WriteEvent methods are called to log the events.
Этот тип реализует интерфейс IDisposable. This type implements the IDisposable interface. По окончании использования выдаленную ему память следует прямо или косвенно освободить. When you have finished using the type, you should dispose of it either directly or indirectly. Чтобы сделать это прямо, вызовите его метод Dispose в блоке try / catch . To dispose of the type directly, call its Dispose method in a try / catch block. Чтобы сделать это косвенно, используйте языковые конструкции, такие как using (в C#) или Using (в Visual Basic). To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Дополнительные сведения см. в разделе «Использование объекта, реализующего IDisposable» в статье об интерфейсе IDisposable. For more information, see the «Using an Object that Implements IDisposable» section in the IDisposable interface topic.
EventSourceДля большинства приложений достаточно основных функций. The basic functionality of EventSource is sufficient for most applications. Если требуется больший контроль над создаваемым манифестом ETW, можно применить EventAttribute атрибут к методам. If you want more control over the ETW manifest that is created, you can apply the EventAttribute attribute to the methods. Для расширенных приложений-источников событий можно перехватить команды, отправляемые в производный источник событий, изменить фильтрацию или вызвать действия (например, дамп структуры данных), которые должны быть выполнены наследником. For advanced event source applications, it is possible to intercept the commands being sent to the derived event source and change the filtering, or to cause actions (such as dumping a data structure) to be performed by the inheritor. Источник событий можно активировать с помощью контроллеров ETW Windows, таких как средство logman, сразу же. An event source can be activated with Windows ETW controllers, such as the Logman tool, immediately. Можно также программно управлять и перехватывать Диспетчер данных. It is also possible to programmatically control and intercept the data dispatcher. EventListenerКласс предоставляет дополнительные функциональные возможности. The EventListener class provides additional functionality.
Начиная с платформа .NET Framework 4,6, EventSource предоставляет поддержку каналов, а некоторые правила проверки источника событий были ослаблены. Starting with .NET Framework 4.6, EventSource provides channel support and some of the event source validation rules have been relaxed. Это означает следующее: This means:
EventSource Теперь типы могут реализовывать интерфейсы. EventSource types may now implement interfaces. Это позволяет использовать типы источников событий в расширенных системах ведения журналов, использующих интерфейсы для определения общего целевого объекта ведения журнала. This enables the use of event source types in advanced logging systems that use interfaces to define a common logging target.
Было введено понятие типа источника событий служебной программы. The concept of a utility event source type has been introduced. Эта функция позволяет совместно использовать код в нескольких типах источников событий в проекте для реализации таких сценариев, как оптимизированные WriteEvent перегрузки. This feature enables sharing code across multiple event source types in a project to enable scenarios such as optimized WriteEvent overloads.
Версия EventSource класса, которая предоставляет такие функции, как поддержка каналов, предназначенная для платформа .NET Framework 4.5.1 или более ранней версии, приведена в разделе Библиотека Microsoft EventSource 1.0.16. For a version of the EventSource class that provides features such as channel support you are targeting .NET Framework 4.5.1 or earlier, see Microsoft EventSource Library 1.0.16.
Конструкторы
Создает новый экземпляр класса EventSource. Creates a new instance of the EventSource class.
Создает экземпляр класса EventSource и определяет, следует ли создавать исключение при возникновении ошибки в базовом коде Windows. Creates a new instance of the EventSource class and specifies whether to throw an exception when an error occurs in the underlying Windows code.
Создает экземпляр класса EventSource с указанными параметрами конфигурации. Creates a new instance of the EventSource class with the specified configuration settings.
Инициализирует новый экземпляр класса EventSource для использования с неконтрактными событиями, который содержит указанные параметры и признаки. Initializes a new instance of the EventSource to be used with non-contract events that contains the specified settings and traits.
Создает экземпляр класса EventSource с указанным именем. Creates a new instance of the EventSource class with the specified name.
Создает экземпляр класса EventSource с указанным именем и параметрами. Creates a new instance of the EventSource class with the specified name and settings.
Создает экземпляр класса EventSource с указанными параметрами конфигурации. Creates a new instance of the EventSource class with the specified configuration settings.
Свойства
Возвращает любое исключение, инициированное во время создания источника событий. Gets any exception that was thrown during the construction of the event source.
Получает идентификатор действия текущего потока. Gets the activity ID of the current thread.
Уникальный идентификатор источника события. The unique identifier for the event source.
Понятное имя класса, производного от источника события. The friendly name of the class that is derived from the event source.
Возвращает параметры, применяемые к этому источнику события. Gets the settings applied to this event source.
Методы
Освобождает все ресурсы, используемые текущим экземпляром класса EventSource. Releases all resources used by the current instance of the EventSource class.
Освобождает неуправляемые ресурсы, используемые классом EventSource (при необходимости освобождает и управляемые ресурсы). Releases the unmanaged resources used by the EventSource class and optionally releases the managed resources.
Определяет, равен ли указанный объект текущему объекту. Determines whether the specified object is equal to the current object.
(Унаследовано от Object)
Позволяет объекту EventSource предпринять попытку освободить ресурсы и выполнить другие операции очистки перед утилизацией объекта в процессе сборки мусора. Allows the EventSource object to attempt to free resources and perform other cleanup operations before the object is reclaimed by garbage collection.
Возвращает строку манифеста XML, связанного с текущим источником события. Returns a string of the XML manifest that is associated with the current event source.
Возвращает строку манифеста XML, связанного с текущим источником события. Returns a string of the XML manifest that is associated with the current event source.
Получает уникальный идентификатор для данной реализации источника события. Gets the unique identifier for this implementation of the event source.
Служит хэш-функцией по умолчанию. Serves as the default hash function.
(Унаследовано от Object)
Возвращает объект Type для текущего экземпляра. Gets the Type of the current instance.
(Унаследовано от Object)
Определяет, включен ли источник текущего события. Determines whether the current event source is enabled.
Указывает, включен ли источник текущего события, который имеет заданный уровень и ключевое слово. Determines whether the current event source that has the specified level and keyword is enabled.
Определяет, включен ли текущий источник для событий с указанным уровнем, ключевыми словами и каналом. Determines whether the current event source is enabled for events with the specified level, keywords and channel.
Создает неполную копию текущего объекта Object. Creates a shallow copy of the current Object.
(Унаследовано от Object)
Вызывается, когда источник текущего события обновляется контроллером. Called when the current event source is updated by the controller.
Отправляет команду указанному источнику события. Sends a command to a specified event source.
Задает ИД действия в текущем потоке. Sets the activity ID on the current thread.
Задает идентификатор действия в текущем потоке и возвращает предыдущий идентификатор действия. Sets the activity ID on the current thread, and returns the previous activity ID.
Получает строковое представление текущего экземпляра источника события. Obtains a string representation of the current event source instance.
Возвращает строку, представляющую текущий объект. Returns a string that represents the current object.
(Унаследовано от Object)
Записывает событие без полей, но с указанным именем и параметрами по умолчанию. Writes an event without fields, but with the specified name and default options.
Записывает событие без полей, но с указанными именем и параметрами. Writes an event without fields, but with the specified name and options.
Записывает событие с указанными именем, параметрами, связанным действием и данными. Writes an event with the specified name, options, related activity and event data.
Записывает событие с указанными именем, данными и параметрами. Writes an event with the specified name, event data and options.
Записывает событие с указанными именем, параметрами и данными. Writes an event with the specified name, options and event data.
Записывает событие с указанными именем и данными. Writes an event with the specified name and data.
Записывает событие, используя предоставленный идентификатор события. Writes an event by using the provided event identifier.
Записывает событие, используя предоставленные идентификатор события и аргумент в виде массива байтов. Writes an event by using the provided event identifier and byte array argument.
Записывает событие, используя предоставленные идентификатор события и 32-разрядный целочисленный аргумент. Writes an event by using the provided event identifier and 32-bit integer argument.
Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы. Writes an event by using the provided event identifier and 32-bit integer arguments.
Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы. Writes an event by using the provided event identifier and 32-bit integer arguments.
Записывает событие, используя предоставленный идентификатор, а также строковые и 32-разрядные целочисленные аргументы. Writes an event by using the provided event identifier and 32-bit integer and string arguments.
Записывает событие, используя предоставленные идентификатор события и 64-разрядный целочисленный аргумент. Writes an event by using the provided event identifier and 64-bit integer argument.
Записывает данные события, используя указанный идентификатор, а также 64-разрядные целочисленные аргументы и аргументы в виде массива байтов. Writes the event data using the specified identifier and 64-bit integer and byte array arguments.
Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы. Writes an event by using the provided event identifier and 64-bit arguments.
Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы. Writes an event by using the provided event identifier and 64-bit arguments.
Записывает событие, используя предоставленный идентификатор, а также строковые и 64-разрядные целочисленные аргументы. Writes an event by using the provided event identifier and 64-bit integer, and string arguments.
Записывает событие, используя предоставленные идентификатор события и массив аргументов. Writes an event by using the provided event identifier and array of arguments.
Записывает событие, используя предоставленные идентификатор события и строковый аргумент. Writes an event by using the provided event identifier and string argument.
Записывает событие, используя предоставленные идентификатор события и аргументы. Writes an event by using the provided event identifier and arguments.
Записывает событие, используя предоставленные идентификатор события и аргументы. Writes an event by using the provided event identifier and arguments.
Записывает событие, используя предоставленные идентификатор события и аргументы. Writes an event by using the provided event identifier and arguments.
Записывает событие, используя предоставленные идентификатор события и строковые аргументы. Writes an event by using the provided event identifier and string arguments.
Записывает событие, используя предоставленные идентификатор события и строковые аргументы. Writes an event by using the provided event identifier and string arguments.
Создает перегрузку WriteEvent с помощью предоставленных идентификатора и данных события. Creates a new WriteEvent overload by using the provided event identifier and event data.
Записывает событие, которое указывает, что текущее действие связано с другим действием. Writes an event that indicates that the current activity is related to another activity.
Записывает событие, которое указывает, что текущее действие связано с другим действием. Writes an event that indicates that the current activity is related to another activity.
События
Происходит, когда команда поступает от прослушивателя событий. Occurs when a command comes from an event listener.
Применяется к
Потокобезопасность
Данный тип потокобезопасен. This type is thread safe.