Чтение счетчика производительности из C #: Экземпляр не существуют в указанной категории

Я пытаюсь прочитать несколько счетчиков производительности из работающего приложения .NET 4, из другого приложения .NET 4. [12 49] Некоторые счетчики, такие как Процесс \% загруженности процессора и Процесс \ байты личного пользования , работают нормально. Однако, как только я пытаюсь прочитать счетчик производительности из одной из категорий .NET, например .NET CLR Memory \ # Gen 0 Collections , я получаю следующее исключение:

Instance 'MyApplication' does not exist in the specified Category

Когда я вызываю :

new PerformanceCounterCategory(".NET CLR Memory").GetInstanceNames()

Он возвращает очень небольшой набор экземпляров, а MyApplication действительно нет в списке. Однако, когда я смотрю на свои счетчики производительности в perfmon , список экземпляров, которые я вижу там для той же категории / счетчика, намного длиннее и ДОЛЖЕН включает MyApplication.

Кто-нибудь знает, почему счетчики .NET не видны моему приложению?

(Примечание: отслеживаемое приложение запущено приложением мониторинга, поэтому они определенно запускаются в той же учетной записи. Я также попытался запустить свое приложение мониторинга в качестве администратора и добавить моя учетная запись в группе пользователей системного монитора, безрезультатно.)

10
задан Serghei 4 July 2011 в 13:51
поделиться