System.NetworkManagement.ComputedPerfProvider.Division

Applies To: System Center 2012 - Operations Manager, System Center 2012 R2 Operations Manager, System Center 2012 SP1 - Operations Manager

The System.NetworkManagement.ComputedPerfProvider.Division data source module type provides System.Performance.Data type data.

Usage

This module is commonly used to provide performance data for a specified SNMP object by retrieving raw performance data with an SMNP query, and then performing a specified calculation on that raw data. It is similar to System.NetworkManagement.ComputedPerfProvider, but allows for situations in which the computation might result in a division by zero.

Type Definition

<DataSourceModuleType ID="System.NetworkManagement.ComputedPerfProvider.Division" Accessibility="Public" Batching="false">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
      <SchemaType>Snmp!System.SnmpVarBindsSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element maxOccurs="1" name="NoOfRetries" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element maxOccurs="1" name="Timeout" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="SnmpVarBinds" type="SnmpVarBindsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="Numerator" type="NumericValueExpressionType" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="Denominator" type="NumericValueExpressionType" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="DefaultValue" type="xsd:double" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ObjectName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CounterName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="NoOfRetries" Selector="$Config/NoOfRetries$" ParameterType="int" />
    <OverrideableParameter ID="Timeout" Selector="$Config/Timeout$" ParameterType="int" />
  </OverrideableParameters>
  <ModuleImplementation Isolation="Any">
    <Composite>
      <MemberModules>
        <DataSource ID="Computation" TypeID="System.NetworkManagement.ComputedPerfProvider">
          <Interval>$Config/Interval$</Interval>
          <NoOfRetries>$Config/NoOfRetries$</NoOfRetries>
          <Timeout>$Config/Timeout$</Timeout>
          <SnmpVarBinds>$Config/SnmpVarBinds$</SnmpVarBinds>
          <ComputedPerformanceValue>
            <BranchValueExpression>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <NumericValue>$Config/Denominator$</NumericValue>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <NumericValue>
                      <Value Type="Double">0.0</Value>
                    </NumericValue>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
              <TrueValueExpression>
                <NumericValue>
                  <Value Type="Double">$Config/DefaultValue$</Value>
                </NumericValue>
              </TrueValueExpression>
              <FalseValueExpression>
                <NumericValue>
                  <Division>
                    <NumericValue>$Config/Numerator$</NumericValue>
                    <NumericValue>$Config/Denominator$</NumericValue>
                  </Division>
                </NumericValue>
              </FalseValueExpression>
            </BranchValueExpression>
          </ComputedPerformanceValue>
          <ObjectName>$Config/ObjectName$</ObjectName>
          <CounterName>$Config/CounterName$</CounterName>
        </DataSource>
      </MemberModules>
      <Composition>
        <Node ID="Computation" />
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>Performance!System.Performance.Data</OutputType>
</DataSourceModuleType>

Parameters

The System.NetworkManagement.ComputedPerfProvider module supports the following configuration parameters:

Parameter Type Overrideable Description

Interval

Integer

True

Required parameter. Contains the interval, in seconds, at which the probe performs the SNMP operation.

NoOfRetries

Integer

True

Optional parameter. The number of times that an SNMP GET operation will retry if it times out.Defaults to 3.

Timeout

Integer

True

Optional parameter. The amount of time (in milliseconds) before an SNMP GET operation times out.Defaults to 1500.

SnmpVarBinds

SnmpVarBindsType

False

Required parameter. Contains a list of SNMP variable bindings as SnmpVarBind elements.

Numerator

NumericValueExpressionType

False

Required parameter. Contains the numeric value for the numerator in the performance calculation.

Denominator

NumericValueExpressionType

False

Required parameter. Contains the numeric value for the denominator in the performance calculation. This value is tested to determine if it is equal to zero before the calculation is performed.

DefaultValue

Integer

False

Required parameter. The value that will be used as the calculated performance value if the denominator is equal to zero.

ObjectName

String

False

Required parameter. Specifies the performance object name.

CounterName

String

False

Required parameter. Specifies the name of the performance counter.

OutputOnError

String

False

Optional parameter. Indicates whether the workflow should continue if the device returns an error.

For more information about the SnmpVarBind element, see System.NetworkManagement.SnmpDataSource.

For more information about the NumericValueExpressionType parameter, see System.NetworkManagement.Computation.

Composition

The Microsoft.SystemCenter.CollectPerformanceData module is a composite module that contains the member modules described in the following table.

Workflow Run Order Module Type Usage

1

System.NetworkManagement.ComputedPerfProvider

Carries out the performance calculation and returns System.Performance.Data.

Module Type Usage

System.NetworkManagement.ComputedPerfProvider

Similar to System.NetworkManagement.ComputedPerfProvider.Division, but does not account for possible division by zero in the computation.

External Module References

Module Type Usage

System.NetworkManagement.NetworkAdapter.Utilization

Data source module that provides network adapter utilization data.

Sample

The following XML example shows how System.NetworkManagement.ComputedPerfProvider.Division is used to calculate the free memory percentage on a Cisco device. Because the denominator in the calculation may be zero, a default value of 0.0 is specified.

<Rule ID="System.NetworkManagement.CiscoWLAN4402.Memory.FreeMemoryPct" Enabled="true" Target="NetworkLibrary!System.NetworkManagement.CiscoWLAN4402_Performance_Memory" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
  <Category>PerformanceCollection</Category>
  <DataSources>
    <DataSource ID="DS" TypeID="System.NetworkManagement.ComputedPerfProvider.Division">
      <Interval>300</Interval>
      <NoOfRetries>3</NoOfRetries>
      <Timeout>3500</Timeout>
      <SnmpVarBinds>
        <SnmpVarBind>
          <OID>.1.3.6.1.4.1.14179.1.1.5.2.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</OID>
          <Syntax>0</Syntax>
          <Value VariantType="8" />
        </SnmpVarBind>
        <SnmpVarBind>
          <OID>.1.3.6.1.4.1.14179.1.1.5.3.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</OID>
          <Syntax>0</Syntax>
          <Value VariantType="8" />
        </SnmpVarBind>
      </SnmpVarBinds>
      <Numerator>
        <Product>
          <NumericValue>
            <XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.14179.1.1.5.3.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$"]/Value</XPathQuery>
          </NumericValue>
          <NumericValue>
            <Value>100.0</Value>
          </NumericValue>
        </Product>
      </Numerator>
      <Denominator>
        <XPathQuery Type="Double">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.14179.1.1.5.2.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$"]/Value</XPathQuery>
      </Denominator>
      <DefaultValue>0.0</DefaultValue>
      <ObjectName>Memory</ObjectName>
      <CounterName>Free Memory %</CounterName>
    </DataSource>
  </DataSources>
  <ConditionDetection ID="CollectionFilter" TypeID="System.NetworkManagement.ExpressionFilter">
    <Expression />
    <SuppressionSettings>
      <MatchCount>3</MatchCount>
      <SampleCount>3</SampleCount>
    </SuppressionSettings>
  </ConditionDetection>
  <WriteActions>
    <WriteAction ID="WriteToDB" TypeID="SystemCenter!Microsoft.SystemCenter.CollectPerformanceData" />
    <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
  </WriteActions>
</Rule>

Information

   

Module Type

DataSourceModuleType

Input Type

None

Output Type

System.Performance.Data

Implementation

Composite

Library

System.NetworkManagement.Monitoring