CorrelatorType

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

The CorrelatorType complex data type is used within correlation modules to correlate two incoming data item types, to detect a specific pattern of data items.

The CorrelatorType data type assumes two data sources as input. One data source is the primary data source, and the other is the secondary data source. For more information about specifying which is primary and which is secondary, see System.Correlator.

Schema Definition

<xsd:complexType name="CorrelatorType">
  <xsd:sequence>
    <xsd:element name="InputPorts" minOccurs="0" maxOccurs="1">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="Port" minOccurs="2" maxOccurs="2">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="TimeXPathQuery" type="xsd:string" minOccurs="0" maxOccurs="1"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="CorrelationExpression">
      <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="Expression" type="CorrelatorExpressionType" minOccurs="0" maxOccurs="1"/>
       </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="Count" type="xsd:int"/>
    <xsd:element name="Interval" type="xsd:int"/>
    <xsd:element name="Latency" type="xsd:int" default="60" minOccurs="0"/>
    <xsd:element name="DrainWait" type="xsd:int" default="120" minOccurs="0"/>
    <xsd:element name="CorrelationOrder">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="InSequence">
          </xsd:enumeration>
          <xsd:enumeration value="AnyOrder">
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:element>
    <xsd:element name="CorrelationItemPolicy">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ResetWindow">
          </xsd:enumeration>
          <xsd:enumeration value="First">
          </xsd:enumeration>
          <xsd:enumeration value="Last">
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:element>
  </xsd:sequence>
</xsd:complexType>

Remarks

The CorrelatorType data type contains the parameters described in the following table.

Parameter Type Description

InputPorts

Complex

For internal usage only.

CorrelationExpression

CorrelationExpressionType

Optional parameter. An expression that defines a condition for correlation processing. The condition measures only the equality of a property or properties between the two data sources.

Count

Integer

Required parameter. Must have a value of 1 or greater. Represents the number of incoming secondary data items to correlate against the primary data item.

Interval

Integer

Required. Specifies the correlation interval in seconds that defines the length of the time window.

Latency

Integer

Optional. Must be between 0 and 1800 seconds. If not specified, the value defaults to 60 seconds. Defines a period of time that the module waits before outputting data, even if the correlation conditions have been met.

DrainWait

Integer

Optional. Must be between 0 and 240 seconds. If not specified, the value defaults to 120 seconds. Defines the amount of time to wait for incoming backlogged data.

CorrelationOrder

String

Required. Specifies whether or not the items are to be correlated in a set sequence or are to be evaluated regardless of order.

CorrelationItemPolicy

String

Required. Specifies how the module handles multiple incoming primary data items within a single time interval.

The CorrelatorType complex data type is used by the System.Correlator native module. For more information, see System.Correlator.

Count

The Count parameter specifies the number of incoming secondary data items that must arrive for the module to return output before an interval ends. If the Count is never reached, the module returns output at the end of the interval.

Latency

The Latency parameter specifies the amount of time in seconds for the module to wait before actually returning any output. This wait period occurs even when the specified Count has been reached or the time window has elapsed. Latency is useful when you expect a certain amount of latency from your data sources and that the incoming data items will arrive out of order. Latency ensures that the module gives enough time for input data to arrive.

DrainWait

The DrainWait parameter is the same as the Latency parameter except that it applies to the processing of backlogged data. The DrainWait parameter gives the data source some time to deliver the backlogged data items to the correlator for processing. The DrainWait parameter can be used only when the data source supports backlogging.

CorrelationOrder and CorrelationItemPolicy

The supported correlation configurations are described in the following table.

CorrelationItemPolicy/CorrelationOrder

Description

First/InSequence

For each primary data item that arrives, a time window will begin and the module will wait for the secondary data item or items to arrive within that time window. Because each primary data item has its own time window, along with the second data item, it will eventually be included as part of the module output. The module sets the final output time either when the time window ends or when the number of secondary data items equals the value specified in the Count parameter. The module will actually output data at the final output time plus the latency time.

Last/InSequence

Same as First/InSequence, except that if more than one primary data item arrives within the time window, the very last primary data item will be the one used for the final correlation and will be returned, along with the second event, as part of the module output. The primary data items that preceded the last data item will be ignored.

ResetWindow/InSequence

Whenever a primary data item arrives, the time window is reset. All previous data items, both secondary and primary, will be ignored. The module will then wait for the specified count of secondary data items to arrive within that time window. The module sets the final output time either when the correct count of secondary data items has been reached or the interval has elapsed. The module will actually output data at the final output time plus the latency time.

First/AnyOrder

This configuration is the same as First/InSequence except that the first and primary data items are switched when the secondary data item arrives before the primary data item.

Last/AnyOrder

This configuration is the same as Last/InSequence except that the first and primary data items are switched when the secondary data item arrives before the primary data item.

Information

   

Schema Type

System.ExpressionEvaluatorSchema

Library

System.Library