2011-12-28 3 views
4

Я пытаюсь использовать счетчик производительности, чтобы определить, сколько байтов моего приложения было отправлено или получено. Я воспользовался предложенным решением: Calculating Bandwidth, но экземпляр моего приложения не отображается в категории «.NET CLR Networking». Сообщение об исключении:Монитор производительности .NET CLR Networking 4.0.0.0 Именование наименований

«Instance„ApplicationName [8824]“не существует в указанной категории»

(я добавил <performanceCounters enabled="true"/> в моем App.config и он все еще не может быть найден после того, как некоторые сетевые действия)

Итак, я запустил Performance Monitor, чтобы увидеть ошибку своими глазами. Как и ожидалось, мое приложение не отображается в категории .NET CLR Networking, но его, к счастью, можно найти в категории .NET CLR Networking 4.0.0.0.

Однако проблема заключается в том, что я не могу понять, как генерируется имя экземпляра. Вот имя экземпляра, который я вижу в Performance Monitor: ApplicationName.exe_p4952_r15_ad1.

До сих пор я понял, что первые части должны быть изготовлены из ProcessName и PID, но я не имеют понятия, что за последние два («r15» и «ad1») штук родом из.

У кого-нибудь есть ключ к тому, что могут быть последними двумя частями?

Одним из решений было бы перечислить все экземпляры, найденные в категории «.NET CLR Networking 4.0.0.0», и искать ApplicationName.exe_PID *, но предпочли бы искать правильное имя напрямую (если возможно).

+0

Вы получили это за работу? Кажется, я не получаю никаких значений со счетчика. – TheGateKeeper

ответ

1

Для получения более подробной информации о том, как это название, отметьте this link. Короче говоря, «rXX» - это идентификатор времени выполнения общей языковой среды выполнения (экземпляр), которая выполняет ваш код.

Это новое соглашение об именах было установлено таким образом, что в сценариях «бок о бок» (где у вас более одного экземпляра CLR в процессе, что является новой функцией, начиная с .NET 4.0), вы можете фактически отличать счетчики производительности ,

«adXX» не описан на странице выше, но из аббревиатуры я предполагаю, что это означает Application Domain. Возможно, это число может быть AppDomain.Id домена приложения.