Практическое руководство. Определение существования счетчиков и категорий
Обновлен: Ноябрь 2007
Для определения существования заданного счетчика производительности внутри конкретной категории или на локальном или удаленном компьютере можно использовать метод CounterExists класса PerformanceCounterCategory. Это следует выполнить перед созданием нового счетчика, чтобы предотвратить возникновение ошибки в случае существования другого счетчика с тем же самым именем.
Кроме определения существования счетчиков, можно определить существование заданной категории с помощью метода Exists класса PerformanceCounterCategory. Этим следует воспользоваться, если создается пользовательский счетчик и требуется определить, существует ли для него категория. Если указанная категория уже была создана ранее, при вызове метода Create возникнет ошибка.
Как метод Exists, так и метод CounterExists возвращают значение true, если элемент найден и false — в противном случае.
Определение существования счетчика
Вызовите метод Exists класса PerformanceCounterCategory, указав следующие параметры.
Параметр
Значение
CounterName
Имя запрашиваемого счетчика.
CategoryName
Любая категория объектов производительности сервера.
MachineName
Сервер, на котором выполняется поиск категории и счетчика.
Примечание. В Visual Basic параметр MachineName является необязательным; если он не определен, по умолчанию поиск выполняется на локальном компьютере. Если указание имени компьютера не требуется, то в C# допустимо использование перегруженного метода Exists.
Определение существования категории
Вызовите метод Exists класса PerformanceCounterCategory, указав следующие параметры.
Параметр
Значение
CategoryName
Любая запрашиваемая категория.
MachineName
Сервер, на котором выполняется поиск категории.
В следующем примере показан способ использования оператора If для определения существования категории перед ее созданием и созданием счетчика.
If Not (PerformanceCounterCategory.Exists("MyCat")) Then PerformanceCounterCategory.Create( _ "MyCat", "Description", _ PerformanceCounterCategoryType.SingleInstance, _ "MyCounter", "Description") End If
if (!System.Diagnostics.PerformanceCounterCategory.Exists("MyCat")) { System.Diagnostics.PerformanceCounterCategory.Create( "MyCat", "Description", PerformanceCounterCategoryType.SingleInstance, "MyCounter", "Description"); }
См. также
Задачи
Практическое руководство. Запись значений в счетчики производительности