Практическое руководство. Запись значений в счетчики производительности
Обновлен: Ноябрь 2007
Запись значения в счетчик выполняется путем увеличения или уменьшения текущего необработанного значения счетчика на положительную или отрицательную величину. Для этого используется метод IncrementBy класса PerformanceCounter.
Примечание. |
---|
При увеличении счетчика на отрицательную величину выполняется уменьшение счетчика на ее абсолютное значение. Например, при увеличении на 3 выполняется увеличение необработанного значения счетчика на 3. При увеличении на –3 выполняется уменьшение необработанного значения счетчика на 3. |
Кроме того, для увеличения или уменьшения значения счетчика на единицу можно использовать методы Increment или Decrement. Данные методы обрабатываются намного быстрее метода IncrementBy.
Увеличивать можно лишь значения пользовательских счетчиков. Взаимодействие с системными счетчиками с помощью экземпляра компонента PerformanceCounter по умолчанию ограничено режимом "только для чтения". Перед увеличением значения пользовательского счетчика необходимо установить значение false для свойства ReadOnly экземпляра компонента, который используется для доступа к счетчику.
Примечание. |
---|
Существуют ограничения безопасности, влияющие на возможность использования счетчиков производительности. Дополнительные сведения см. в разделе Знакомство со способами выявления пороговых значений производительности. |
Примечание. |
---|
В Microsoft Windows NT версии 4.0 класс PerformanceCounter поддерживается не полностью. Данные из системных счетчиков доступны для чтения, но пользовательские счетчики нельзя создавать, удалять, а также нельзя записывать в них данные. |
Запись значений в счетчики производительности
Создайте экземпляр PerformanceCounter и настройте его для взаимодействия с нужной категорией и счетчиком. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента PerformanceCounter или Практическое руководство. Настройка экземпляров компонента PerformanceCounter.
Запишите значение одним из следующих способов:
Действие
Используемый метод
Параметр
Увеличить необработанное значение на единицу
Отсутсвует
Уменьшить необработанное значение на единицу
Нет
Увеличить необработанное значение на величину больше единицы
Положительное целое число
Уменьшить необработанное значение на величину больше единицы
Отрицательное целое число
Установить в качестве необработанного значения произвольное целое число (вместо его увеличения)
Положительное или отрицательное целое число
В следующем коде показано несколько способов установки значений счетчика. В коде предполагается, что работа производится с приложением Windows Forms, содержащим текстовое поле с именем txtValue и три кнопки: одна — для увеличения необработанного значения счетчика на введенное в текстовое поле число, вторая — для уменьшения необработанного значения счетчика на единицу и третья — для установки в качестве необработанного значения счетчика введенного в текстовое поле числа.
Private Sub btnIncrement_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnIncrement.Click PerformanceCounter1.ReadOnly = False PerformanceCounter1.IncrementBy(CLng(txtValue.Text)) End Sub Private Sub btnDecrement_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnDecrement.Click PerformanceCounter1.ReadOnly = False PerformanceCounter1.Decrement() End Sub Private Sub btnSetValue_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSetValue.Click PerformanceCounter1.ReadOnly = False PerformanceCounter1.RawValue = CLng(txtValue.Text) End Sub
protected void btnIncrement_Click(object sender, EventArgs e) { performanceCounter1.ReadOnly = false; performanceCounter1.IncrementBy(long.Parse(txtValue.Text)); } protected void btnDecrement_Click(object sender, EventArgs e) { performanceCounter1.ReadOnly = false; performanceCounter1.Decrement(); } protected void btnSetValue_Click(object sender, EventArgs e) { performanceCounter1.ReadOnly = false; performanceCounter1.RawValue = long.Parse(txtValue.Text); }
См. также
Основные понятия
Знакомство со способами выявления пороговых значений производительности