<?xml version="1.0"?>
<Rules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/vs/profiler/guidance_rules/1.0">
  <Rule>
    <ID>1</ID>
    <Title>Birleştirmeler için StringBuilder kullanın.</Title>
    <Category>.NET Framework</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>Dize birleştirmeleri için StringBuilder kullanmayı göz önünde bulundurun.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>Or</CondType>
      <Condition1 xsi:type="FunctionThresholdPercentCondition">
        <Threshold>5</Threshold>
        <ModuleName>mscorlib.ni.dll</ModuleName>
        <FunctionName>System.String.Concat(.*)</FunctionName>
        <ColumnName>InclSamplesPercent</ColumnName>
        <ComplexRegex>false</ComplexRegex>
      </Condition1>
      <Condition2 xsi:type="FunctionThresholdPercentCondition">
        <Threshold>5</Threshold>
        <ModuleName>mscorlib.dll</ModuleName>
        <FunctionName>System.String.Concat(.*)</FunctionName>
        <ColumnName>InclusiveApplicationTimePercent</ColumnName>
        <ComplexRegex>false</ComplexRegex>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0001</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>2</ID>
    <Title>VSPerfCorProf.dll yok.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Summary</ContextView>
    <GuidanceMessage>Dosya uygun VSPerfCLREnv.cmd ortam değişkenleri ayarlanmadan toplanmış gözüküyor. Yönetilen ikili değerlerin sembolleri çözümlenemeyebilir.</GuidanceMessage>
    <Condition xsi:type="ProfilerSpecificPropertyCondition">
      <PropertyName>IsVsPerfCorProfMissing</PropertyName>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0002</HelpKeyword>
    <Action>Error</Action>
  </Rule>
  <Rule>
    <ID>3</ID>
    <Title>Kernel modunda çok fazla örnek.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Summary</ContextView>
    <GuidanceMessage>Kernel Mode'da yüksek oranda örneğiniz var. Bu çok sayıda G/Ç etkinliğinin veya yüksek oranda bağlam değişiminin göstergesi olabilir. Uygulamanız için Instrumentation Mode kullanarak yeniden profil oluşturmayı deneyebilirsiniz.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>IsSampling</PropertyName>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>And</CondType>
        <Condition1 xsi:type="VspPropertyRatioCondition">
          <PropertyName>NumKernelSamples</PropertyName>
          <TotalPropertyName>TotalSamples</TotalPropertyName>
          <Threshold>75</Threshold>
        </Condition1>
        <Condition2 xsi:type="VspPropertyThresholdCondition">
          <PropertyName>TotalSamples</PropertyName>
          <Threshold>750</Threshold>
          <ThresholdTest>GreaterThan</ThresholdTest>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0003</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>4</ID>
    <Title>Tutarlı CPU meşguliyeti &gt; 75%.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>İşlemci kullanımınız tutarlı bir şekilde %75'in üzerinde. CPU-sınırı uygulamalarda Sampling modunu kullanabilirsiniz.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>IsInstrumentation</PropertyName>
      </Condition1>
      <Condition2 xsi:type="WinCounterCondition">
        <WinCounterName>\Processor(_Total)\% Processor Time</WinCounterName>
        <Threshold>75</Threshold>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>false</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0004</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>5</ID>
    <Title>Sık Kullanılan GC2 Koleksiyonları.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Summary</ContextView>
    <GuidanceMessage>Nesnelerinizin bir çoğu 2. nesil atık toplamayla toplandı.</GuidanceMessage>
    <Condition xsi:type="ProfilerSpecificPropertyCondition">
      <PropertyName>ManyGC2Collections</PropertyName>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0005</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>6</ID>
    <Title>Değer türleri için Equals() üzerine yaz .</Title>
    <Category>.NET Framework</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>Değer türlerinde Equals ve eşitlik işleci üzerine yaz.</GuidanceMessage>
    <Condition xsi:type="FunctionThresholdPercentCondition">
      <Threshold>3</Threshold>
      <ModuleName>mscorlib.ni.dll</ModuleName>
      <FunctionName>System.ValueType.Equals(object)</FunctionName>
      <ColumnName>InclSamplesPercent</ColumnName>
      <ComplexRegex>false</ComplexRegex>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0006</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>7</ID>
    <Title>Düzenli denetim akışında özel durumları kullanmaktan kaçının.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Yüksek sayıda özel durum tutarlı bir şekilde oluşturuldu. Program mantığında özel durumların kullanımını azaltmayı değerlendirin.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\.NET CLR Exceptions(@Instance)\# of Exceps Thrown / sec</WinCounterName>
      <Threshold>10</Threshold>
      <AggregationType>Average</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>25</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0007</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>8</ID>
    <Title>Az sayıda örnek toplandı.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Summary</ContextView>
    <GuidanceMessage>Az sayıda örnek toplandı. Daha geçerli sonuçlar almak için daha uzun bir çalıştırma veya daha yüksek bir örnekleme hızı seçebilirsiniz.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>IsSampling</PropertyName>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>And</CondType>
        <Condition1 xsi:type="VspPropertyBoolCondition">
          <PropertyName>IsAllocation</PropertyName>
          <Invert>true</Invert>
        </Condition1>
        <Condition2 xsi:type="VspPropertyThresholdCondition">
          <PropertyName>TotalSamples</PropertyName>
          <Threshold>300</Threshold>
          <ThresholdTest>LessThan</ThresholdTest>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0008</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>10</ID>
    <Title>Pahalı GetHashCode Fonksiyonu.</Title>
    <Category>.NET Framework</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>GetHashCode fonksiyonları ucuz ve bellekte fazla alan kaplamıyor olmalıdır. Mümkünse karma kodun karmaşıklığını azaltın.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>Or</CondType>
      <Condition1 xsi:type="FunctionThresholdPercentCondition">
        <Threshold>5</Threshold>
        <ModuleName>.*</ModuleName>
        <FunctionName>.*.GetHashCode()</FunctionName>
        <ColumnName>InclSamplesPercent</ColumnName>
        <ComplexRegex>false</ComplexRegex>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>5</Threshold>
          <ModuleName>.*</ModuleName>
          <FunctionName>.*.GetHashCode()</FunctionName>
          <ColumnName>InclusiveApplicationTimePercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>0</Threshold>
          <ModuleName>.*</ModuleName>
          <FunctionName>(?!System).*\.GetHashCode\(\)</FunctionName>
          <ColumnName>InclAllocsPercent</ColumnName>
          <ComplexRegex>true</ComplexRegex>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0010</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>11</ID>
    <Title>Pahalı CompareTo Fonksiyonu.</Title>
    <Category>.NET Framework</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>CompareTo fonksiyonları ucuz ve bellekte fazla alan kaplamıyor olmalıdır. Mümkünse CompareTo fonksiyonunun karmaşıklığını azaltın.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>Or</CondType>
      <Condition1 xsi:type="FunctionThresholdPercentCondition">
        <Threshold>5</Threshold>
        <ModuleName>.*</ModuleName>
        <FunctionName>.*CompareTo(object)</FunctionName>
        <ColumnName>InclSamplesPercent</ColumnName>
        <ComplexRegex>false</ComplexRegex>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>5</Threshold>
          <ModuleName>.*</ModuleName>
          <FunctionName>.*CompareTo(object)</FunctionName>
          <ColumnName>InclusiveApplicationTimePercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>0</Threshold>
          <ModuleName>.*</ModuleName>
          <FunctionName>.*CompareTo(object)</FunctionName>
          <ColumnName>InclAllocsPercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0011</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>12</ID>
    <Title>Reflection'ı çok fazla kullanmamaya dikkat edin.</Title>
    <Category>.NET Framework</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>Reflection'ı aşırı kullanıyor olabilirsiniz. Bu pahalı bir işlemdir.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>Or</CondType>
      <Condition1 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>5</Threshold>
          <ModuleName>mscorlib.ni.dll</ModuleName>
          <FunctionName>System.Type.InvokeMember(.*)</FunctionName>
          <ColumnName>InclSamplesPercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>5</Threshold>
          <ModuleName>mscorlib.ni.dll</ModuleName>
          <FunctionName>System.Reflection.*.Get.*(.*)</FunctionName>
          <ColumnName>InclSamplesPercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition2>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>5</Threshold>
          <ModuleName>mscorlib.dll</ModuleName>
          <FunctionName>System.Type.InvokeMember(.*)</FunctionName>
          <ColumnName>InclusiveApplicationTimePercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>5</Threshold>
          <ModuleName>mscorlib.dll</ModuleName>
          <FunctionName>System.Reflection.*.Get.*(.*)</FunctionName>
          <ColumnName>InclusiveApplicationTimePercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0012</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>13</ID>
    <Title>Yüksek String.Split/String.Substring kullanımı.</Title>
    <Category>.NET Framework</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>String.Split ve String.Substring fonksiyonlarının kullanımını azaltabilirsiniz.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>Or</CondType>
      <Condition1 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>3</Threshold>
          <ModuleName>mscorlib.ni.dll</ModuleName>
          <FunctionName>System.String.Substring(.*)</FunctionName>
          <ColumnName>InclSamplesPercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>3</Threshold>
          <ModuleName>mscorlib.ni.dll</ModuleName>
          <FunctionName>System.String.Split(.*)</FunctionName>
          <ColumnName>InclSamplesPercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition2>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>3</Threshold>
          <ModuleName>mscorlib.dll</ModuleName>
          <FunctionName>System.String.Substring(.*)</FunctionName>
          <ColumnName>InclusiveApplicationTimePercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>3</Threshold>
          <ModuleName>mscorlib.dll</ModuleName>
          <FunctionName>System.String.Split(.*)</FunctionName>
          <ColumnName>InclusiveApplicationTimePercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0013</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>14</ID>
    <Title>Çok yüksek oranda diske etkin bellek sayfalaması.</Title>
    <Category>MemoryAndPaging</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Yüksek oranda diske etkin bellek sayfalaması gerçekleşiyor. Uygulamanız bellek-sınırlı olabilir.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
        <WinCounterName>\Memory\Pages/sec</WinCounterName>
        <Threshold>500</Threshold>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>false</IsProcessSpecific>
        <MinimumNumberOfValues>25</MinimumNumberOfValues>
      </Condition>
    <SupersedesRule>17</SupersedesRule>
    <HelpKeyword>vs.performance.rules.DA0014</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>17</ID>
    <Title>Yüksek oranda diske etkin bellek sayfalaması.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Yüksek oranda diske etkin bellek sayfalaması gerçekleşiyor. Uygulamanız bellek-sınırlı olabilir.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Memory\Pages/sec</WinCounterName>
      <Threshold>300</Threshold>
      <AggregationType>Average</AggregationType>
      <IsProcessSpecific>false</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0017</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>18</ID>
    <Title>Yönetilen bellek limitlerinde çalışan 32-bit Uygulama.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Yönetilen bellek ayırmaları 32-bit bir işlem için varsayılan sınıra ulaşıyor. Uygulamanız bellek-sınırlı olabilir.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>Is64Bit</PropertyName>
        <Invert>true</Invert>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="WinCounterCondition">
          <WinCounterName>\.NET CLR Memory(@Instance)\# Bytes in all Heaps</WinCounterName>
          <Threshold>750000000</Threshold>
          <AggregationType>Maximum</AggregationType>
          <IsProcessSpecific>true</IsProcessSpecific>
          <MinimumNumberOfValues>10</MinimumNumberOfValues>
        </Condition1>
        <Condition2 xsi:type="WinCounterCondition">
          <WinCounterName>\.NET CLR Memory(@Instance)\# Total committed bytes</WinCounterName>
          <Threshold>750000000</Threshold>
          <AggregationType>Maximum</AggregationType>
          <IsProcessSpecific>true</IsProcessSpecific>
          <MinimumNumberOfValues>10</MinimumNumberOfValues>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0018</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>21</ID>
    <Title>Yüksek oranda 1. nesil atık toplama.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Görece yüksek 1. nesil atık toplama gerçekleşiyor. Eğer, tasarımdan, programınızın veri yapılarının çoğu ayırılmış ve uzun süre kalmışsa, bu genel olarak bir sorun değildir. Ancak, bu davranış istem dışıysa, uygulamanız nesneleri sabitliyor olabilir. Emin değilseniz, uygulamanızın bellek ayırması kullanımlarını anlamak için .NET bellek ayırması ve nesne yaşam süresi hakkında bilgi alabilirsiniz.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\# Gen 0 Collections</WinCounterName>
        <Threshold>30</Threshold>
        <AggregationType>Maximum</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition1>
      <Condition2 xsi:type="WinCounterRatioCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\# Gen 0 Collections</WinCounterName>
        <TotalWinCounterName>\.NET CLR Memory(@Instance)\# Gen 1 Collections</TotalWinCounterName>
        <Threshold>5</Threshold>
        <ThresholdTest>LessThan</ThresholdTest>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0021</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>22</ID>
    <Title>Yüksek oranda 2. nesil atık toplama.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Görece yüksek 2. nesil atık toplama gerçekleşiyor. Eğer, tasarımdan, programınızın veri yapılarının çoğu ayırılmış ve uzun süre kalmışsa, bu genel olarak bir sorun değildir. Ancak, bu davranış istem dışıysa, uygulamanız nesneleri sabitliyor olabilir. Emin değilseniz, uygulamanızın bellek ayırması kullanımlarını anlamak için .NET bellek ayırması ve nesne yaşam süresi hakkında bilgi alabilirsiniz.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\# Gen 0 Collections</WinCounterName>
        <Threshold>50</Threshold>
        <AggregationType>Maximum</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition1>
      <Condition2 xsi:type="WinCounterRatioCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\# Gen 1 Collections</WinCounterName>
        <TotalWinCounterName>\.NET CLR Memory(@Instance)\# Gen 2 Collections</TotalWinCounterName>
        <Threshold>5</Threshold>
        <ThresholdTest>LessThan</ThresholdTest>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <SupersedesRule>21</SupersedesRule>
    <HelpKeyword>vs.performance.rules.DA0022</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>23</ID>
    <Title>Yüksek GC CPU Zamanı.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>
      GC'de Zaman yüzdesi görece yüksek. Bu yüksek miktarda atık toplama göstergesi uygulamanızın yanıt verebilirliğini etkileyebilir. Uygulamanızın daha iyi kullanabileceği bellek ayırması kullanımlarını anlamak için .NET bellek ayırma verileri ve nesne yaşam süresi hakkında bilgi alabilirsiniz.
    </GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\# Gen 0 Collections</WinCounterName>
        <Threshold>30</Threshold>
        <AggregationType>Maximum</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition1>
      <Condition2 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\% Time in GC</WinCounterName>
        <Threshold>10</Threshold>
        <ThresholdTest>GreaterThan</ThresholdTest>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0023</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>24</ID>
    <Title>Aşırı GC CPU Zamanı.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>GC'deki Zaman yüzdesi çok yüksek. Yüksek oranda atık toplama kullanımı var.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\# Gen 0 Collections</WinCounterName>
        <Threshold>30</Threshold>
        <AggregationType>Maximum</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition1>
      <Condition2 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR Memory(@Instance)\% Time in GC</WinCounterName>
        <Threshold>40</Threshold>
        <ThresholdTest>GreaterThan</ThresholdTest>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <SupersedesRule>23</SupersedesRule>
    <HelpKeyword>vs.performance.rules.DA0024</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>25</ID>
    <Title>Yüksek derecede çekirdek CPU zamanı işlemesi.</Title>
    <Category>ProcessorUsage</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Görece yüksek miktarda çekirdek modu CPU zamanı ölçüldü. Kaynağı etkin SysCall örneklemesiyle araştırmanız gerekir.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="WinCounterCondition">
        <WinCounterName>\Processor(_Total)\% Processor Time</WinCounterName>
        <Threshold>30</Threshold>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>false</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition1>
      <Condition2 xsi:type="WinCounterRatioCondition">
        <WinCounterName>\Processor(_Total)\% Privileged Time</WinCounterName>
        <TotalWinCounterName>\Processor(_Total)\% User Time</TotalWinCounterName>
        <Threshold>1</Threshold>
        <ThresholdTest>GreaterThan</ThresholdTest>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>false</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0025</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>26</ID>
    <Title>Aşırı çekirdek CPU zaman işlemesi.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Çekirdek modu CPU zamanı görece yüksek miktarda ölçüldü. Kaynağı etkin SysCall örneklemesiyle araştırmanız gerekir.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="WinCounterCondition">
        <WinCounterName>\Process(@Instance)\% Processor Time</WinCounterName>
        <Threshold>50</Threshold>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>And</CondType>
        <Condition1 xsi:type="VspPropertyBoolCondition">
          <PropertyName>IsSysCallSampling</PropertyName>
          <Invert>true</Invert>
        </Condition1>
        <Condition2 xsi:type="WinCounterRatioCondition">
          <WinCounterName>\Process(@Instance)\% Privileged Time</WinCounterName>
	  <TotalWinCounterName>\Process(@Instance)\% User Time</TotalWinCounterName>
          <Threshold>1</Threshold>
          <ThresholdTest>GreaterThan</ThresholdTest>
          <AggregationType>Average</AggregationType>
          <IsProcessSpecific>true</IsProcessSpecific>
          <MinimumNumberOfValues>10</MinimumNumberOfValues>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0026</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>29</ID>
    <Title>Desteklenmeyen CLR Sürümü.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Summary</ContextView>
    <GuidanceMessage>Koleksiyon sırasında desteklenmeyen CLR sürümü algılandı. Yönetilen semboller düzgün çözülemiyor olabilir.</GuidanceMessage>
    <Condition xsi:type="VspPropertyBoolCondition">
      <PropertyName>IsUnsupportedCLR</PropertyName>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0029</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>30</ID>
    <Title>Veritabanı projeleri için Katman Etkileşimi ölçüleri toplayın.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>FunctionDetails</ContextView>
    <GuidanceMessage>Çok katmanlı uygulamalar için etkileşim ölçümleri hakkında bilgi edinmeniz veritabanı kullanımı ve anahtar veri erişim gecikmelerini anlamanıza yardımcı olacaktır. Uygulamanın profilini Katman Etkileşimli Profil Oluşturma seçeneği etkin olacak şekilde yeniden oluşturmayı deneyin.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>IsTip</PropertyName>
        <Invert>true</Invert>
      </Condition1>
      <Condition2 xsi:type="CompositeCondition">
        <CondType>Or</CondType>
        <Condition1 xsi:type="CompositeCondition">
          <CondType>Or</CondType>
          <Condition1 xsi:type="FunctionThresholdPercentCondition">
            <Threshold>2</Threshold>
            <ModuleName>System.Data.dll</ModuleName>
            <FunctionName>System.Data.*</FunctionName>
            <ColumnName>InclSamplesPercent</ColumnName>
            <ComplexRegex>false</ComplexRegex>
          </Condition1>
          <Condition2 xsi:type="FunctionThresholdPercentCondition">
            <Threshold>2</Threshold>
            <ModuleName>System.Data.ni.dll</ModuleName>
            <FunctionName>System.Data.*</FunctionName>
            <ColumnName>InclSamplesPercent</ColumnName>
            <ComplexRegex>false</ComplexRegex>
          </Condition2>
        </Condition1>
        <Condition2 xsi:type="FunctionThresholdPercentCondition">
          <Threshold>2</Threshold>
          <ModuleName>System.Data.Linq.ni.dll</ModuleName>
          <FunctionName>System.Data.*</FunctionName>
          <ColumnName>InclSamplesPercent</ColumnName>
          <ComplexRegex>false</ComplexRegex>
        </Condition2>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0030</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>37</ID>
    <Title>Özel Baytlar 32-bit bir işlemin mimari sınırlarına yaklaşıyor.</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Profil oluşturmakta olduğunuz işlem tarafından ayırılan sanal belleği ölçen Özel Baytlar İşlemi sayacı 32-bit bir işlemin mimari sınırına yaklaşıyor. Bildirilen değer tüm ölçüm aralıklarında gözlemlenen en yüksek değerdir.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>Is64Bit</PropertyName>
        <Invert>true</Invert>
      </Condition1>
      <Condition2 xsi:type="WinCounterCondition">
        <WinCounterName>\Process(@Instance)\Private Bytes</WinCounterName>
        <Threshold>1750000000</Threshold>
        <ThresholdTest>GreaterThan</ThresholdTest>
        <AggregationType>Maximum</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>10</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0037</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>38</ID>
    <Title>Yüksek Oranda Kilit çakışması.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Yüksek oranda .NET Kilit çakışması gerçekleşiyor. Lütfen Eşzamanlılık profilini çalıştırarak bu kilit çakışmasının nedenini araştırın.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>IsResourceContention</PropertyName>
        <Invert>true</Invert>
      </Condition1>
      <Condition2 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR LocksAndThreads(@Instance)\Contention Rate / sec</WinCounterName>
        <Threshold>1</Threshold>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>25</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0038</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>39</ID>
    <Title>Çok Yüksek Oranda Kilit çakışması.</Title>
    <Category>.NET Framework</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Çok yüksek oranda .NET Kilit çakışması gerçekleşiyor. Lütfen Eşzamanlılık profilini çalıştırarak bu kilit çakışmasının nedenini araştırın.</GuidanceMessage>
    <Condition xsi:type="CompositeCondition">
      <CondType>And</CondType>
      <Condition1 xsi:type="VspPropertyBoolCondition">
        <PropertyName>IsResourceContention</PropertyName>
        <Invert>true</Invert>
      </Condition1>
      <Condition2 xsi:type="WinCounterCondition">
        <WinCounterName>\.NET CLR LocksAndThreads(@Instance)\Contention Rate / sec</WinCounterName>
        <Threshold>3</Threshold>
        <AggregationType>Average</AggregationType>
        <IsProcessSpecific>true</IsProcessSpecific>
        <MinimumNumberOfValues>25</MinimumNumberOfValues>
      </Condition2>
    </Condition>
    <SupersedesRule>38</SupersedesRule>
    <HelpKeyword>vs.performance.rules.DA0039</HelpKeyword>
    <Action>Warning</Action>
  </Rule>
  <Rule>
    <ID>40</ID>
    <Title>UMS uygulaması sonlandırıldı.</Title>
    <Category>Araç Gözetimi</Category>
    <ContextView>Summary</ContextView>
    <GuidanceMessage>Kullanıcı Modu Planlama (UMS) örnekleme profili oluşturması desteklenmiyor. Uygulama sona erdirildi.</GuidanceMessage>
    <Condition xsi:type="ProfilerSpecificPropertyCondition">
      <PropertyName>IsUmsAppTerminated</PropertyName>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0040</HelpKeyword>
    <Action>Error</Action>
  </Rule>
  <Rule>
    <ID>501</ID>
    <Title>İşlem tarafından ortalama CPU kullanımı profili oluşturuldu.</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>İşlem tarafından ortalama CPU kullanımı profili oluşturuldu.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Process(@Instance)\% Processor Time</WinCounterName>
      <Threshold>0</Threshold>
      <ThresholdTest>GreaterThan</ThresholdTest>
      <AggregationType>Average</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0501</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>502</ID>
    <Title>İşlem tarafından en fazla CPU kullanımı profili oluşturuldu.</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Bu kural yalnızca bilgi içindir. İşlem()\% İşlemci Zamanı sayacı profil oluşturmakta olduğunuz işlemin CPU kullanımını ölçer. Bildirilen değer tüm ölçüm aralıklarında gözlemlenen en yüksek değerdir.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Process(@Instance)\% Processor Time</WinCounterName>
      <Threshold>0</Threshold>
      <ThresholdTest>GreaterThan</ThresholdTest>
      <AggregationType>Maximum</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0502</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>503</ID>
    <Title>İşlem için profili oluşturulan Ortalama Çalışma Kümesi (Bayt).</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Bu bilgiler yalnızca bilgi amaçlı toplanmıştır. İşlem Çalışma Kümesi sayacı profil oluşturduğunuz işlem hakkında fiziksel bellek kullanımını ölçer. Bildirilen değer ölçülen tüm değer aralıklarından hesaplanan ortalamadır.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Process(@Instance)\Working Set</WinCounterName>
      <Threshold>0</Threshold>
      <ThresholdTest>GreaterThan</ThresholdTest>
      <AggregationType>Average</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0503</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>504</ID>
    <Title>İşlem için profili oluşturulan En Yüksek Çalışma Kümesi (Bayt).</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Bu kural yalnızca bilgi içindir. İşlem Çalışma Kümesi sayacı profil oluşturduğunuz işlem tarafından kullanılan fiziksel bellek boyutunu ölçer. Bildirilen değer tüm ölçüm aralıklarında gözlemlenen en yüksek değerdir.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Process(@Instance)\Working Set</WinCounterName>
      <Threshold>0</Threshold>
      <ThresholdTest>GreaterThan</ThresholdTest>
      <AggregationType>Maximum</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0504</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>505</ID>
    <Title>Ortalama Özel Baytlar profil oluşturulan İşlem için ayırılmış.</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Bu bilgiler yalnızca bilgi amaçlı toplanmıştır. İşlem Özel Baytlar sayacı, diğer işlemlerle paylaşılamayan, profil oluşturduğunuz işlem tarafından ayırılan sanal belleği ölçer. Bildirilen değer ölçülen tüm değer aralıklarından hesaplanan ortalamadır.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Process(@Instance)\Private Bytes</WinCounterName>
      <Threshold>0</Threshold>
      <ThresholdTest>GreaterThan</ThresholdTest>
      <AggregationType>Average</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0505</HelpKeyword>
    <Action>Information</Action>
  </Rule>
  <Rule>
    <ID>506</ID>
    <Title>Profil oluşturulan İşlem için ayırılmış En yüksek sayıda Özel Bayt.</Title>
    <Category>Kaynak izleme</Category>
    <ContextView>Marks</ContextView>
    <GuidanceMessage>Bu kural yalnızca bilgi içindir. İşlem Özel Baytlar sayacı, diğer işlemlerle paylaşılamayan, profil oluşturduğunuz işlem tarafından ayırılan sanal belleği ölçer. Bildirilen değer tüm ölçüm aralıklarında gözlemlenen en yüksek değerdir.</GuidanceMessage>
    <Condition xsi:type="WinCounterCondition">
      <WinCounterName>\Process(@Instance)\Private Bytes</WinCounterName>
      <Threshold>0</Threshold>
      <ThresholdTest>GreaterThan</ThresholdTest>
      <AggregationType>Maximum</AggregationType>
      <IsProcessSpecific>true</IsProcessSpecific>
      <MinimumNumberOfValues>10</MinimumNumberOfValues>
    </Condition>
    <HelpKeyword>vs.performance.rules.DA0506</HelpKeyword>
    <Action>Information</Action>
  </Rule>
</Rules>
