Performance Counter Provider

Microsoft.SystemCenter.NTService.Frequency.PerfCounterProvider (DataSourceModuleType)

Provides performance counters for Windows Services using WMI

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityPublic
RunAsDefault
OutputTypeSystem.Performance.Data

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SystemCenter.NTService.FilteredWin32ServiceInformationProvider Default
Probe ProbeAction Microsoft.Windows.WmiProbe Default
CD ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Frequencyint$Config/Frequency$FrequencyFrequency in seconds to poll performance counter

Source Code:

<DataSourceModuleType ID="Microsoft.SystemCenter.NTService.Frequency.PerfCounterProvider" Accessibility="Public">
<Configuration>
<xsd:element name="ServiceName" type="xsd:string"/>
<xsd:element name="ObjectName" type="xsd:string"/>
<xsd:element name="CounterName" type="xsd:string"/>
<xsd:element name="InstanceName" type="xsd:string"/>
<xsd:element name="Value" type="xsd:string"/>
<xsd:element name="Frequency" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" ParameterType="int" Selector="$Config/Frequency$"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource TypeID="Microsoft.SystemCenter.NTService.FilteredWin32ServiceInformationProvider" ID="DS">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>$Config/ServiceName$</ServiceName>
<Frequency>$Config/Frequency$</Frequency>
</DataSource>
<ProbeAction TypeID="Windows!Microsoft.Windows.WmiProbe" ID="Probe">
<NameSpace>\\$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$\ROOT\CIMV2</NameSpace>
<Query>SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE IDProcess=$Data/Property[@Name='ProcessId']$</Query>
</ProbeAction>
<ConditionDetection TypeID="Performance!System.Performance.DataGenericMapper" ID="CD">
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/InstanceName$</InstanceName>
<Value>$Config/Value$</Value>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="CD">
<Node ID="Probe">
<Node ID="DS"/>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Performance!System.Performance.Data</OutputType>
</DataSourceModuleType>