.NET Apps/\% Performance Events/sec の収集

Microsoft.SystemCenter.Apm.ApplicationInstance.CollectPerformanceEventsRate (Rule)

.NET Apps/\% Performance Events/sec は、1 秒間に発生したパフォーマンス イベントの割合を算出します。長時間実行される要求がイベント ポーリング ウィンドウからはみ出すほど多数ある場合は、この値が 100\% を超えることがあります

Knowledge Base article:

概要

このルールは、アプリケーションの .NET Apps Performance Events パフォーマンス カウンターを収集します。

このカウンターは、1 秒あたりにアプリケーションによって生成されたパフォーマンス イベントの数を記録します。記録されるイベントの数は、エージェントの構成、しきい値のレベル、有効な名前空間などの情報によって異なります。このカウンターの値が、Application Diagnostic コンソールに表示されるパフォーマンス イベント発生数より大きい場合があります。これは、イベント調整によって抑制されるイベントも含まれるためです。

このカウンターは、アプリケーション パフォーマンスの監視が有効な場合だけ使用することができます。

データベースの呼び出しに長時間かかる場合は、サーバーの問題や、クエリの構造と複雑さが原因の可能性があります。ファイル I/O 時間が長い場合は、ファイル サーバーに問題があることが考えられます。Web サービスのパフォーマンスの問題は、Web サービス、またはそのサービスが常駐しているサーバーがダウンしているか、Web サービスのコードの問題が原因で発生することがあります。アプリケーションの内部実行時間が長い場合は、コードが複雑なことや効率がよくないことが考えられます。

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Apps
Counter Name\% Performance Events/sec
Frequency300
Alert GenerateFalse
RemotableFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Performance.DataProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.ApplicationInstance.CollectPerformanceEventsRate" Enabled="true" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Performance!System.Performance.DataProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Performance Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>