2010-07-29 35 views
0

我已經使用Entlib 4.1創建了性能計數器,如下所示。當我打開performon.exe和添加計數器時 - 我可以看到我創建的性能對象和計數器列表。但是我不能添加它們,因爲添加按鈕被禁用。任何建議?請幫忙!無法添加性能計數器 - 「添加」按鈕被禁用

public class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine("You are about to install the performance counters"); 
     InstallPerformaceCounters(); 
     Console.ReadLine(); 


     for (int i = 0; i < 100000; i++) 
     { 
      if (i % 3 == 2) 
      { 
       Thread.Sleep(100); 
      } 

      if (i % 5 == 2) 
      { 
       Thread.Sleep(1000); 
      } 

      PerformSearch(i); 
     } 

     Console.ReadLine(); 
    } 

    private static void PerformSearch(int i) 
    { 
     Console.WriteLine(i); 
    } 

    private static void InstallPerformaceCounters() 
    { 
     try 
     { 
      PerformanceCountersInstaller installer = new PerformanceCountersInstaller(new SystemConfigurationSource()); 
      IDictionary state = new System.Collections.Hashtable(); 
      installer.Context = new InstallContext(); 
      installer.Install(state); 
      installer.Commit(state); 
      Console.WriteLine("Performance counters have been successfully installed."); 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 
} 

////

的App.config

  <?xml version="1.0" encoding="utf-8"?> 
     <configuration> 
      <configSections> 
       <section name="policyInjection" type="Microsoft.Practices.EnterpriseLibrary.PolicyInjection.Configuration.PolicyInjectionSettings, Microsoft.Practices.EnterpriseLibrary.PolicyInjection, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
       <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
       <section name="instrumentationConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.Configuration.InstrumentationConfigurationSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </configSections> 
     <policyInjection> 
      <policies> 
       <add name="Search"> 
        <handlers> 
         <add categoryName="Search Performance Counters" instanceName="Default" 
     useTotalCounter="false" incrementNumberOfCalls="true" incrementCallsPerSecond="true" 
     incrementAverageCallDuration="true" incrementTotalExceptions="true" 
     incrementExceptionsPerSecond="true" type="Microsoft.Practices.EnterpriseLibrary.PolicyInjection.CallHandlers.PerformanceCounterCallHandler, Microsoft.Practices.EnterpriseLibrary.PolicyInjection.CallHandlers, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     name="Performance Counters Handler" /> 
        </handlers> 
       </add> 
      </policies> 
     </policyInjection> 
    <instrumentationConfiguration performanceCountersEnabled="true" 
eventLoggingEnabled="false" wmiEnabled="false" applicationInstanceName="" /> 
    </configuration> 

回答

0

這是我的錯誤。我需要運行該應用程序,特別是用這些計數器裝飾的方法,所以我可以將計數器添加到列表中。