我正在尝试使用性能计数器来确定我的应用程序已发送或接收的字节数。我按照此处找到的建议解决方案进行操作:计算带宽 https://stackoverflow.com/questions/442409/c-bandwidth,但我的应用程序实例没有显示在“.NET CLR Networking”类别中。异常消息:
“指定的实例中不存在“应用程序名称[8824]”
类别”
(我已经添加了<performanceCounters enabled="true"/>
在我的 App.config 中,在进行一些网络活动后仍然找不到)
所以我启动了性能监视器,以便亲眼看到错误。正如预期的那样,我的应用程序没有出现在.NET CLR 网络类别,但幸运的是可以在.NET CLR 网络 4.0.0.0类别。
但是,我的问题是我无法弄清楚实例名称是如何生成的。这是我在性能监视器中看到的实例的名称:ApplicationName.exe_p4952_r15_ad1
.
到目前为止我已经弄清楚第一部分必须由进程名称 and PID, 但是我
不知道最后两个是什么("r15" and "ad1") 件来自。
有人知道最后两块可能是什么吗?
一种解决方案是枚举“.NET CLR Networking 4.0.0.0”类别中找到的所有实例并搜索 ApplicationName.exe_PID*,但更愿意直接查找正确的名称(如果可能)。
Check 这个链接 http://msdn.microsoft.com/en-us/library/dd537616.aspx有关如何构建该名称的更多信息。简而言之,“rXX”是执行代码的公共语言运行时(实例)的运行时 ID。
建立这一新的命名约定是为了在并行场景中(一个进程中有多个 CLR 实例;这是从 .NET 4.0 开始的一项新功能),您实际上可以区分性能计数器。
上面的页面上没有描述“adXX”,但从缩写词来看,我认为它代表应用程序域。该数字可能是应用程序域.Id http://msdn.microsoft.com/en-us/library/system.appdomain.id.aspx的应用程序域。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)