PerformanceCounterCategory
全部标签 我的IIS计算机上运行着一个AzureWeb角色和一个单独的Windows服务。Web角色创建一个自定义性能计数器类别和两个计数器。我正在尝试从我的Windows服务中读取性能计数器。即使PerformanceCounterCategory.Exists(categoryName)返回true,GetCounters方法也会抛出异常,提示Categorydoesnotexist(查看更新)。if(PerformanceCounterCategory.Exists(categoryName)){try{//GettheexistingcategoryandcountersPerforma
我正在尝试从ASP.NETMVC应用程序(在Windows8x64PC上使用VS2012)添加性能计数器,但我遇到的问题是,如果我检查该类别是否存在或添加新的性能计数器类别,计算机就会挂起我的代码是:namespaceTestMvcCounter{publicclassMvcApplication:System.Web.HttpApplication{protectedvoidApplication_Start(){AreaRegistration.RegisterAllAreas();WebApiConfig.Register(GlobalConfiguration.Configur
我有一个Windows服务,它通过WCF服务接口(interface)为一些虚拟队列的消息提供服务。我想公开两个性能计数器-队列中的项目数每秒从队列中移除的项目数第一个工作正常,第二个在PerfMon.exe中始终显示为0,尽管RawValue看起来是正确的。我正在创建这样的计数器-internalconststringPERF_COUNTERS_CATEGORY="HRG.Test.GDSSimulator";internalconststringPERF_COUNTER_ITEMSINQUEUE_COUNTER="#Messagesonqueue";internalconststr
好的,所以我基本上是在尝试创建一个已安装的性能计数器类别列表,就像您在PerfMon中获得的那样。为此,我正在使用System.Diagnostics.PerformanceCounterCategory.GetCategories()这似乎有效,直到您检查列表,并发现其中一些丢失了。我发现缺少的第一个是ReadyBoost缓存。这是因为该项目被设置为在“x86”上编译。将其更改为“任何CPU”解决了该问题。然而,仍然有一些缺失,例如,其中一台测试机器有一个“授权管理器应用程序”类别(我的没有,而且似乎没有人知道为什么,或者它来自哪里)但是,在那台机器上,性能计数器类别显示在PerfM
我有一个使用性能计数器的应用程序,它已经运行了几个月。现在,在我的开发机器和另一台开发机器上,当我调用PerformanceCounterCategory.Exists时它已经开始挂起。据我所知,它无限期地挂起。无论我使用哪个类别作为输入,使用API的其他应用程序都表现出相同的行为。调试(使用MS符号服务器)显示是对Microsoft.Win32.RegistryKey的调用挂起。进一步调查表明,正是这一行挂起:while(Win32Native.ERROR_MORE_DATA==(r=Win32Native.RegQueryValueEx(hkey,name,null,reftype
我有一个使用性能计数器的应用程序,它已经运行了几个月。现在,在我的开发机器和另一台开发机器上,当我调用PerformanceCounterCategory.Exists时它已经开始挂起。据我所知,它无限期地挂起。无论我使用哪个类别作为输入,使用API的其他应用程序都表现出相同的行为。调试(使用MS符号服务器)显示是对Microsoft.Win32.RegistryKey的调用挂起。进一步调查表明,正是这一行挂起:while(Win32Native.ERROR_MORE_DATA==(r=Win32Native.RegQueryValueEx(hkey,name,null,reftype
我正在尝试访问位于".NETCLRMemorycategory"中的性能计数器通过C#使用PerformanceCounter类。但是,无法使用我期望的正确类别/计数器名称来实例化类别newPerformanceCounter(".NETCLRMemory","#bytesinallheaps",Process.GetCurrentProcess().ProcessName);我尝试使用以下代码循环遍历类别和计数器string[]categories=PerformanceCounterCategory.GetCategories().Select(c=>c.CategoryName)
我正在尝试访问位于".NETCLRMemorycategory"中的性能计数器通过C#使用PerformanceCounter类。但是,无法使用我期望的正确类别/计数器名称来实例化类别newPerformanceCounter(".NETCLRMemory","#bytesinallheaps",Process.GetCurrentProcess().ProcessName);我尝试使用以下代码循环遍历类别和计数器string[]categories=PerformanceCounterCategory.GetCategories().Select(c=>c.CategoryName)