Leitor de desempenho de leitura de C #: Instância não existe na categoria especificada

Estou tentando ler vários contadores de desempenho de um aplicativo .NET 4 em execução, de outro aplicativo .NET 4.

Alguns contadores, comoProcess\% Processor Time eProcess\Private Bytes funciona bem. No entanto, assim que tento ler um contador de desempenho de uma das categorias do .NET, como.NET CLR Memory\# Gen 0 Collections, Recebo a seguinte exceção:

Instance 'MyApplication' does not exist in the specified Category

Quando ligo:

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

Ele retorna um conjunto muito pequeno de instâncias, e MyApplication não está na lista. No entanto, quando olho para os meus contadores de desempenho emperfmon, a lista de instâncias que vejo para a mesma categoria / contador é muito mais longa e inclui MyApplicatio

lguém sabe por que os contadores .NET não são visíveis para meu aplicativ

(Nota: o aplicativo monitorado écomeçad pelo aplicativo de monitoramento, para que eles definitivamente sejam executados na mesma conta de usuário. Também tentei iniciar meu aplicativo de monitoramento como Administrador e adicionar minha conta ao grupo Usuários do Monitor de Desempenho, sem efeito.)

questionAnswers(1)

yourAnswerToTheQuestion