【发布时间】:2011-12-28 09:33:10
【问题描述】:
我正在尝试使用性能计数器来确定我的应用程序发送或接收了多少字节。我遵循了此处找到的建议解决方案:Calculating Bandwidth,但我的应用程序实例未显示在“.NET CLR 网络”类别中。异常消息:
"实例 'ApplicationName[8824]' 不存在于指定的 类别”
(我在我的 App.config 中添加了<performanceCounters enabled="true"/>,但经过一些网络活动后仍然找不到它)
所以我启动了性能监视器,以便亲眼看到错误。正如预期的那样,我的应用程序没有出现在 .NET CLR Networking 类别中,但幸运的是它可以在 .NET CLR Networking 4.0.0.0 类别中找到。
但是,我的问题是我无法弄清楚实例名称是如何生成的。这是我在性能监视器中看到的实例的名称:ApplicationName.exe_p4952_r15_ad1。
到目前为止,我已经发现第一部分必须由 ProcessName 和 PID 组成,但我 不知道最后两段("r15" 和 "ad1")来自什么。
有人知道最后两块是什么吗?
一种解决方案是枚举在“.NET CLR Networking 4.0.0.0”类别中找到的所有实例并搜索 ApplicationName.exe_PID*,但更愿意直接查找正确的名称(如果可能)。
【问题讨论】:
-
你让它工作了吗?我似乎无法从计数器获得任何值。
标签: c# .net windows naming performancecounter