System.Performance.DeltaValueCondition
Applies To: Operations Manager 2007 R2
The System.Performance.DeltaValueCondition condition detection module type calculates the delta value over the specified number of incoming performance data samples. This module accepts System.Performance.Data as the input data type and outputs System.Performance.Data data.
Usage
Use this module type within a workflow to calculate the delta value over the number of performance data samples.
Type Definition
<ConditionDetectionModuleType ID="System.Performance.DeltaValueCondition" Accessibility="Public" Stateful="true" PassThrough="false" Batching="false">
<Configuration>
<xsd:element minOccurs="1" maxOccurs="1" name="NumSamples" type="xsd:unsignedInt" />
<xsd:element minOccurs="1" maxOccurs="1" name="Absolute">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="true" />
<xsd:enumeration value="false" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="NumSamples" ParameterType="int" Selector="$Config/NumSamples$" />
</OverrideableParameters>
<ModuleImplementation>
<Native>
<ClassID>B065E6F2-1B98-4DDF-B905-948573DB1AC1</ClassID>
</Native>
</ModuleImplementation>
<OutputType>System.Performance.Data</OutputType>
<InputTypes>
<InputType>System.Performance.Data</InputType>
</InputTypes>
</ConditionDetectionModuleType>
Parameters
The System.Performance.DeltaValueCondition module supports the configuration parameters described in the following table.
Parameter | Type | Overrideable | Description |
---|---|---|---|
NumSamples |
Unsigned Integer |
True |
Required parameter. Contains the number of samples over which to calculate the delta difference. |
Absolute |
Boolean |
False |
Required parameter. Determines whether to calculate the delta as a percentage or as an absolute difference. If absolute, the value is true; otherwise, false. |
Composition
The System.Performance.DeltaValueCondition module is a native module.
The System.Performance.DeltaValueCondition will hold each performance data sample in a memory queue and outputs data only when at least two samples have been stored. It is important to note that the delta is calculated by determining the difference between the oldest (first) and newest (last) sample in the memory queue. As new samples are received, the oldest is popped off the queue and the delta is re-calculated.
Because the data is held in memory, if the system re-starts, the queue data will be lost, and the sampling will have to be started over once again.
The output of the module is returned either as a percentage value or as a signed number value, depending on the value of the Absolute parameter.
Related Modules
None.
External Module References
The System.Performance.DeltaValueCondition module is a member of the public modules described in the following table.
Module Type | Library | Usage |
---|---|---|
Microsoft.Windows.Library |
Queries 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. |
|
System.Performance.Library |
Outputs performance data if the specified threshold is exceeded by the delta value of performance samples. |
|
System.Performance.Library |
A data source module type that outputs a calculated delta of Windows performance data as System.Performance.Data data on a timed interval. |
Sample
The following XML example is a UnitMonitorType 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="System.Performance.DeltaThreshold" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="UnderThreshold" />
<MonitorTypeState ID="OverThreshold" />
</MonitorTypeStates>
<Configuration>
<xsd:element name="ComputerName" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="CounterName" type="xsd:string" />
<xsd:element name="ObjectName" type="xsd:string" />
<xsd:element name="InstanceName" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="AllInstances" type="xsd:boolean" minOccurs="0" maxOccurs="1" />
<xsd:element name="Frequency" type="xsd:unsignedInt" />
<xsd:element name="ScaleBy" type="xsd:double" minOccurs="0" maxOccurs="1" />
<xsd:element minOccurs="1" maxOccurs="1" name="Threshold" type="xsd:double" />
<xsd:element minOccurs="1" maxOccurs="1" name="NumSamples" type="xsd:unsignedInt" />
<xsd:element minOccurs="1" maxOccurs="1" name="Absolute">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="true" />
<xsd:enumeration value="false" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" ParameterType="int" Selector="$Config/Frequency$" />
<OverrideableParameter ID="Threshold" ParameterType="double" Selector="$Config/Threshold$" />
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="System.Performance.DataProvider" ID="DS1">
<ComputerName>$Config/ComputerName$</ComputerName>
<CounterName>$Config/CounterName$</CounterName>
<ObjectName>$Config/ObjectName$</ObjectName>
<InstanceName>$Config/InstanceName$</InstanceName>
<AllInstances>$Config/AllInstances$</AllInstances>
<Frequency>$Config/Frequency$</Frequency>
<ScaleBy>$Config/ScaleBy$</ScaleBy>
</DataSource>
<ConditionDetection TypeID="System.Performance.DeltaValueCondition" ID="CDDeltaThreshold">
<NumSamples>$Config/NumSamples$</NumSamples>
<Absolute>$Config/Absolute$</Absolute>
</ConditionDetection>
<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="DS1" />
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OverThreshold">
<Node ID="CDOverThreshold">
<Node ID="CDDeltaThreshold">
<Node ID="DS1" />
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
Information
Module Type |
|
Input Type |
|
Output Type |
|
Implementation |
Native |
Library |
System.Performance.Library |