代码之家  ›  专栏  ›  技术社区  ›  Spock

请帮帮我!无法添加性能计数器-“添加”按钮已禁用

  •  0
  • Spock  · 技术社区  · 16 年前

    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;
            }
        }
    }
    

             <?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>
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Spock    15 年前

    这是我的错。我需要运行应用程序,特别是那些用这些计数器修饰的方法,这样我就可以将计数器添加到列表中。

    推荐文章