Microsoft.Windows.WmiDeltaPerfCounterProvider
Applies To: Operations Manager 2007 R2
The Microsoft.Windows.WmiDeltaPerfCounterProvider module is a data source module type that is used to query Windows Management Instrumentation (WMI) for performance counter data at the specified frequency and returns the delta value of the data as a System.Performance.BaseData type.
Usage
Use this module when you want to query the delta of a consecutive range of performance counter data from a specific WMI performance counter class at a set frequency.
Type Definition
<DataSourceModuleType ID="Microsoft.Windows.WmiDeltaPerfCounterProvider" Accessibility="Public">
<Configuration>
<xsd:element name="NameSpace" type="xsd:string" />
<xsd:element name="Query" type="xsd:string" />
<xsd:element name="Frequency" type="xsd:unsignedInt" />
<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="NumSamples" type="xsd:unsignedInt" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" Selector="$Config/Frequency$" ParameterType="int" />
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource TypeID="Microsoft.Windows.WmiPerfCounterProvider" ID="DS">
<NameSpace>$Config/$NameSpace</NameSpace>
<Query>$Config/Query$</Query>
<Frequency>$Config/Frequency$</Frequency>
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/InstanceName$</InstanceName>
<Value>$Config/Value$</Value>
</DataSource>
<ConditionDetection TypeID="Performance!System.Performance.DeltaValueCondition" ID="Delta">
<NumSamples>$Config/NumSamples$</NumSamples>
<Absolute>true</Absolute>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="Delta">
<Node ID="DS" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Performance!System.Performance.Data</OutputType>
</DataSourceModuleType>
Parameters
The Microsoft.Windows.WmiDeltaPerfCounterProvider module supports the configuration parameters described in the following table.
Parameter | Type | Overrideable | Description |
---|---|---|---|
Namespace |
String |
False |
Required parameter. Specifies the WMI namespace within which the module is to run the query. |
Query |
String |
False |
Required parameter. Specifies the SELECT WMI query to run. |
Frequency |
String |
True |
Required parameter. Specifies the frequency, in seconds, at which the module will query new performance counter data. |
ObjectName |
String |
False |
Required parameter. The name of the performance object against to which the selected counter belongs. |
CounterName |
String |
False |
Required parameter. The name of the performance counter. |
InstanceName |
String |
False |
Required parameter. Contains the instance name but can be empty if there is only a single instance. |
Value |
String |
False |
Required parameter. Contains the numeric value for the performance value. |
NumSamples |
Unsigned Integer |
True |
Required parameter. Contains the number of samples over which to calculate the delta difference. |
For more information about the Namespace parameter, see the Microsoft.Windows.WmiProbe module.
The Query parameter must run a SELECT
query against a valid performance counter class. For a list of valid WMI classes, see Performance Counter Classes.
For more information about the CounterName, ObjectName, InstanceName, and Value parameters, see System.Performance.DataGenericMapper.
For more information about the NumSamples parameter, see System.Performance.DeltaValueCondition.
The Microsoft.Windows.WmiDeltaPerfCounterProvider always returns the delta value as an absolute value, as opposed to a percentage.
Composition
The Microsoft.Windows.WmiDeltaPerfCounterProvider module is a composite module that contains the member modules described in the following table.
Workflow Run Order | Module Type | Usage |
---|---|---|
1 |
Queries WMI for performance counter data at the specified frequency and returns the information as a System.Performance.BaseData type. |
|
2 |
Calculates the delta value of the incoming performance data over the specified number of samples. |
Related Modules
None.
External Module References
None.
Sample
The following XML example is a UnitMonitorType element definition that can be used to create a two-state threshold UnitMonitor element that uses the delta value of sampled performance data to determine monitor health state.
<UnitMonitorType ID="Microsoft.Performance.DeltaThreshold" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="UnderThreshold" />
<MonitorTypeState ID="OverThreshold" />
</MonitorTypeStates>
<Configuration>
<xsd:element name="NameSpace" type="xsd:string" />
<xsd:element name="Query" type="xsd:string" />
<xsd:element name="Frequency" type="xsd:unsignedInt" />
<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 minOccurs="1" maxOccurs="1" name="Threshold" type="xsd:double" />
<xsd:element minOccurs="1" maxOccurs="1" name="NumSamples" type="xsd:unsignedInt" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" Selector="$Config/Frequency$" ParameterType="int" />
<OverrideableParameter ID="Threshold" ParameterType="double" Selector="$Config/Threshold$" />
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DataSource" TypeID="Microsoft.Windows.WmiDeltaPerfCounterProvider">
<NameSpace>$Config/NameSpace$</NameSpace>
<Query>$Config/Query$</Query>
<Frequency>$Config/Frequency$</Frequency>
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/InstanceName$</InstanceName>
<Value>$Config/Value$</Value>
<NumSamples>$Config/NumSamples$</NumSamples>
</DataSource>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="CDOverThreshold">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="CDUnderThreshold">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="UnderThreshold">
<Node ID="CDUnderThreshold">
<Node ID="CDDeltaThreshold">
<Node ID="DataSource" />
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OverThreshold">
<Node ID="CDOverThreshold">
<Node ID="CDDeltaThreshold">
<Node ID="DataSource" />
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
Information
Module Type |
|
Input Type |
None |
Output Type |
|
Implementation |
Composite |
Library |
Microsoft.Windows.Library |