System.Performance.DeltaThresholdCondition

Applies To: Operations Manager 2007 R2

The System.Performance.DeltaThresholdCondition condition detection module type calculates the delta value over the specified number of input values and returns data only if the delta value exceeds the specified threshold condition. 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 provide a threshold filter to the specified number of performance samples and to output the delta value.

Type Definition

<ConditionDetectionModuleType ID="System.Performance.DeltaThresholdCondition" Accessibility="Public" Stateful="true" PassThrough="false" Batching="false">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="NumSamples" type="xsd:unsignedInt" />
    <xsd:element name="Threshold" type="xsd:double" />
    <xsd:element name="Operator" type="CriteriaCompareType" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="Threshold" ParameterType="double" Selector="$Config/Threshold$" />
  </OverrideableParameters>
  <ModuleImplementation>
    <Composite>
      <MemberModules>
        <ConditionDetection ID="DeltaCondition" TypeID="System.Performance.DeltaValueCondition">
          <NumSamples>$Config/NumSamples$</NumSamples>
          <Absolute>true</Absolute>
        </ConditionDetection>
        <ConditionDetection ID="ThresholdCondition" TypeID="System.Performance.SimpleThresholdCondition">
          <Threshold>$Config/Threshold$</Threshold>
          <Operator>$Config/Operator$</Operator>
        </ConditionDetection>
      </MemberModules>
      <Composition>
        <Node ID="ThresholdCondition">
          <Node ID="DeltaCondition" />
        </Node>
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>System.Performance.Data</OutputType>
  <InputTypes>
    <InputType>System.Performance.Data</InputType>
  </InputTypes>
</ConditionDetectionModuleType>

Parameters

The System.Performance.DeltaThresholdCondition 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.

Threshold

Double

True

Required parameter. The double value that defines the threshold to be used in the expression.

Operator

CriteriaCompareType

False

Required parameter. The operator to use to compare the incoming performance data to the threshold.

Composition

The System.Performance.DeltaThresholdCondition composite module contains the member modules described in the following table.

Workflow Run Order Module Type Usage

1

System.Performance.DeltaValueCondition

Calculates and returns the delta value over the specified number of input values.

2

System.Performance.SimpleThresholdCondition

Runs a filter on the incoming performance data and returns data only when the threshold is exceeded.

Remarks

For more information about how the delta is calculated, see System.Performance.DeltaValueCondition.

Module Type Usage

System.Performance.AverageThresholdCondition

Outputs performance data if the specified threshold is exceeded by the average value of performance samples.

External Module References

None.

Sample

The following sample XML demonstrates a rule that calculates the delta across two performance data samples. If the total number of time-outs exceeds the 1000 threshold, an alert will be generated.

<Rule ID="SIP___018___Sends_Timed_Out__Error___Threshold__1_4_Rule" Target="Microsoft.Office.LiveCommunicationsServer.2005.Microsoft_Office_Live_Communications_Server_2005_Access_Proxy_Installation" Enabled="true" ConfirmDelivery="false" Comment="">
  <Category>PerformanceHealth</Category>
  <DataSources>
    <DataSource ID="DS" Comment="" TypeID="Performance!System.Performance.DataProvider">
      <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
      <CounterName>SIP - 018 - Sends Timed-Out</CounterName>
      <ObjectName>LC:SIP - 01 - Peers</ObjectName>
      <InstanceName>_Total</InstanceName>
      <Frequency>900</Frequency>
      <Expression />
    </DataSource>
  </DataSources>
  <ConditionDetection ID="DeltaThresholdFilter" TypeID="Performance!System.Performance.DeltaThresholdCondition">
    <NumSamples>2</NumSamples>
    <Threshold>1000</Threshold>
    <Operator>Greater</Operator>
  </ConditionDetection>
  <WriteActions>
    <WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
      <AlertGeneration>
        <GenerateAlert>true</GenerateAlert>
        <Owner />
        <Description>
          $Data/ObjectName$
          :
          $Data/CounterName$
          :
          $Data/InstanceName$
          value =
          $Data/Value$ /* Delta value taken over 2 samples */
        </Description>
        <AlertLevel>40</AlertLevel>
        <ResolutionState />
        <Source>
          $Data/ObjectName$
          :
          $Data/CounterName$
          :
          $Data/InstanceName$
        </Source>
        <Name>SIP - 018 - Sends Timed-Out (Error) (Threshold)</Name>
      </AlertGeneration>
      <InvokerType>0</InvokerType>
    </WriteAction>
  </WriteActions>
</Rule>

Below is a sample data item that could be returned by the System.Performance.DeltaThresholdCondition module. The Value element represents the delta value of the 2 samples taken over a 15-minute period. The FirstValue and LastValue elements represent the first sample value and the last sample value respectively.

<DataItem type="System.Performance.Data" time="2008-03-11T03:08:55.0343534-08:00" sourceHealthServiceId="0A0800A0-A802-E90B-6045-D961D516CA78">
  <TimeSampled>2008-03-11T03:08:55.0343534-08:00</TimeSampled>
  <ObjectName>LC:SIP - 01 - Peers</ObjectName>
  <CounterName>SIP - 018 - Sends Timed-Out</CounterName>
  <InstanceName>_Total</InstanceName>
  <IsNull Type="Boolean">false</IsNull>
  <Value>2</Value>
  <SampleCount>2</SampleCount>
  <FirstValue>1010</FirstValue>
  <LastValue>1012</LastValue>
</DataItem>

Important

The System.Performance.DataProvider module’s output performance data item also contains a Value element. However, the System.Performance.DataProvider module’s Value element represents the actual value of the counter at the time the sample was taken.

Information

   

Module Type

ConditionDetectionModuleType

Input Type

System.Performance.Data

Output Type

System.Performance.Data

Implementation

Native

Library

System.Performance.Library