Поделиться через


Практическое руководство. Настройка экземпляров компонента PerformanceCounter

Обновлен: Ноябрь 2007

Существует несколько свойств, которые необходимо установить для создаваемого компонента PerformanceCounter. Эти свойства определяют счетчик, с которым взаимодействует компонент. Далее представлены свойства, которые нужно установить.

  • Свойство CategoryName, определяющее объект производительности, с которым будет взаимодействовать компонент. Все счетчики производительности в Windows группируются по категориям, таким как "Память", "Процессы" и "Процессор".

  • Свойство CounterName, определяющее счетчик в указанной категории, с которым будет взаимодействовать компонент.

  • Свойство InstanceName, определяющее экземпляр категории, с которым будет взаимодействовать компонент. Обратите внимание, что многие категории не содержат экземпляров. Поэтому данное свойство можно оставить пустым. Это означает один экземпляр счетчика.

    yeda34w9.alert_note(ru-ru,VS.90).gifПримечание.

    Если заданное значение категории не определено пользователем, то необходимо сделать выбор из существующих счетчиков и экземпляров. Новые счетчики и экземпляры можно создавать только в пользовательских категориях. Например, нельзя создать новый счетчик в категории "Память", но можно создать новую категорию с именем "Заказы" и определить внутри нее необходимое количество счетчиков и экземпляров.

  • Свойство MachineName, определяющее сервер, на котором располагается взаимодействующий с компонентом счетчик производительности. Для данного свойства можно задать значение ".", указывающее на работу с локальным компьютером или же оставить его пустым, тогда по умолчанию будет использоваться то же самое значение.

  • Свойство ReadOnly, определяющее, может ли выполняться запись в любой созданный пользовательский счетчик производительности. По умолчанию любой экземпляр компонента PerformanceCounter, настроенный для работы с существующими счетчиками Windows, работает в режиме "только для чтения" и не позволяет изменять содержащиеся в этих счетчиках значения. Тем не менее при настройке экземпляра компонента для работы с пользовательским счетчиком имеется выбор: согласиться с условиями работы в режиме "только для чтения" (по умолчанию) или разрешить запись значений, установив для этого свойства значение false.

    yeda34w9.alert_note(ru-ru,VS.90).gifПримечание.

    Запись значений возможна только в счетчики на локальном компьютере. Производить чтение значений счетчика можно с любого компьютера, к которому имеется доступ.

Настройка экземпляра компонента PerformaceCounter

  1. Создайте экземпляр компонента PerformanceCounter. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента PerformanceCounter.

  2. Укажите счетчик, с которым должен взаимодействовать компонент, задав следующие свойства.

    Свойство

    Параметр

    MachineName

    Любой сервер, к которому имеется доступ.

    CategoryName

    Любая существующая на сервере категория.

    CounterName

    Любой счетчик в выбранной категории.

  3. Если счетчик, с которым осуществляется взаимодействие, имеет несколько экземпляров, то необходимо задать соответствующий экземпляр в качестве значения свойства InstanceName.

  4. При работе с пользовательским счетчиком, если необходима возможность производить в него запись, установите свойству ReadOnly значение false.

    yeda34w9.alert_note(ru-ru,VS.90).gifПримечание.

    Эти свойства можно установить или в окне Свойства кода или с помощью специальных форм конструктора экземпляра компонента 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);
    
yeda34w9.alert_note(ru-ru,VS.90).gifПримечание.

В этом коде "." обозначает локальный компьютер.

См. также

Задачи

Практическое руководство. Создание экземпляров компонента PerformanceCounter

Практическое руководство. Создание пользовательских счетчиков производительности

Основные понятия

Управление категорией и счетчиком