Практическое руководство. Настройка экземпляров компонента PerformanceCounter
Обновлен: Ноябрь 2007
Существует несколько свойств, которые необходимо установить для создаваемого компонента PerformanceCounter. Эти свойства определяют счетчик, с которым взаимодействует компонент. Далее представлены свойства, которые нужно установить.
Свойство CategoryName, определяющее объект производительности, с которым будет взаимодействовать компонент. Все счетчики производительности в Windows группируются по категориям, таким как "Память", "Процессы" и "Процессор".
Свойство CounterName, определяющее счетчик в указанной категории, с которым будет взаимодействовать компонент.
Свойство InstanceName, определяющее экземпляр категории, с которым будет взаимодействовать компонент. Обратите внимание, что многие категории не содержат экземпляров. Поэтому данное свойство можно оставить пустым. Это означает один экземпляр счетчика.
Примечание. Если заданное значение категории не определено пользователем, то необходимо сделать выбор из существующих счетчиков и экземпляров. Новые счетчики и экземпляры можно создавать только в пользовательских категориях. Например, нельзя создать новый счетчик в категории "Память", но можно создать новую категорию с именем "Заказы" и определить внутри нее необходимое количество счетчиков и экземпляров.
Свойство MachineName, определяющее сервер, на котором располагается взаимодействующий с компонентом счетчик производительности. Для данного свойства можно задать значение ".", указывающее на работу с локальным компьютером или же оставить его пустым, тогда по умолчанию будет использоваться то же самое значение.
Свойство ReadOnly, определяющее, может ли выполняться запись в любой созданный пользовательский счетчик производительности. По умолчанию любой экземпляр компонента PerformanceCounter, настроенный для работы с существующими счетчиками Windows, работает в режиме "только для чтения" и не позволяет изменять содержащиеся в этих счетчиках значения. Тем не менее при настройке экземпляра компонента для работы с пользовательским счетчиком имеется выбор: согласиться с условиями работы в режиме "только для чтения" (по умолчанию) или разрешить запись значений, установив для этого свойства значение false.
Примечание. Запись значений возможна только в счетчики на локальном компьютере. Производить чтение значений счетчика можно с любого компьютера, к которому имеется доступ.
Настройка экземпляра компонента PerformaceCounter
Создайте экземпляр компонента PerformanceCounter. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента PerformanceCounter.
Укажите счетчик, с которым должен взаимодействовать компонент, задав следующие свойства.
Свойство
Параметр
Любой сервер, к которому имеется доступ.
Любая существующая на сервере категория.
Любой счетчик в выбранной категории.
Если счетчик, с которым осуществляется взаимодействие, имеет несколько экземпляров, то необходимо задать соответствующий экземпляр в качестве значения свойства InstanceName.
При работе с пользовательским счетчиком, если необходима возможность производить в него запись, установите свойству ReadOnly значение false.
Примечание. Эти свойства можно установить или в окне Свойства кода или с помощью специальных форм конструктора экземпляра компонента PerformanceCounter.
В следующем примере показан способ программной установки этих значений для подключения к существующему на локальном компьютере счетчику производительности Windows с именем "прерванные транзакции".
' Connect to an existing Windows counter and category Dim abortedTransactions As New PerformanceCounter() abortedTransactions.CategoryName = _ "distributed transaction coordinator" abortedTransactions.CounterName = "aborted transactions" abortedTransactions.MachineName = "." ' Connect to a custom counter and category in writable mode PerformanceCounterCategory.Create("orders", "desc", _ PerformanceCounterCategoryType.SingleInstance, "milk", "desc") Dim myCounter2 As New PerformanceCounter("orders", "milk", False)
// Connect to an existing Windows counter and category System.Diagnostics.PerformanceCounter abortedTransactions = new System.Diagnostics.PerformanceCounter(); abortedTransactions.CategoryName = "distributed transaction coordinator"; abortedTransactions.CounterName = "aborted transactions"; abortedTransactions.MachineName = "."; // Connect to a custom counter and category in writable mode System.Diagnostics.PerformanceCounterCategory.Create( "orders", "desc", PerformanceCounterCategoryType.SingleInstance, "milk", "desc"); System.Diagnostics.PerformanceCounter myCounter2 = new System.Diagnostics.PerformanceCounter("orders", "milk", false);
Примечание. |
---|
В этом коде "." обозначает локальный компьютер. |
См. также
Задачи
Практическое руководство. Создание экземпляров компонента PerformanceCounter
Практическое руководство. Создание пользовательских счетчиков производительности