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>