Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper

System Center

Updated: May 18, 2012

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

The Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper condition detection module type takes Microsoft.SystemCenter.WebApplication.WebApplicationData data as input and maps it to System.Performance.Data type data.

Usage

This module is commonly used with Microsoft.SystemCenter.WebApplication.UrlProbe, to map the output from the data provider to the performance data type. Unlike Microsoft.SystemCenter.WebApplication.PerformanceMapper, which maps performance for the entire web application, this module maps performance for a specific request.

Type Definition

<ConditionDetectionModuleType ID="Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper" Accessibility="Public" Batching="true" Stateful="false" PassThrough="false">
  <Configuration>
    <IncludeSchemaTypes>
      <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element name="RequestID" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="ObjectName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="CounterName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="InstanceName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element name="Value" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
  </Configuration>
  <ModuleImplementation Isolation="Any">
    <Composite>
      <MemberModules>
        <ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
          <Expression>
            <And>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="Boolean">CollectPerformanceData</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="Boolean">true</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">RequestResults/RequestResult[@Id="$Config/RequestID$"]/BasePageData/ErrorCode</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">0</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">RequestResults/RequestResult[@Id="$Config/RequestID$"]/State</XPathQuery>
                  </ValueExpression>
                  <Operator>NotEqual</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">0</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </And>
          </Expression>
        </ConditionDetection>
        <ConditionDetection ID="PerfMapper" TypeID="Performance!System.Performance.DataGenericMapper">
          <ObjectName>$Config/ObjectName$</ObjectName>
          <CounterName>$Config/CounterName$</CounterName>
          <InstanceName>$Config/InstanceName$</InstanceName>
          <Value>$Config/Value$</Value>
        </ConditionDetection>
      </MemberModules>
      <Composition>
        <Node ID="PerfMapper">
          <Node ID="Filter" />
        </Node>
      </Composition>
    </Composite>
  </ModuleImplementation>
  <OutputType>Performance!System.Performance.Data</OutputType>
  <InputTypes>
    <InputType>Microsoft.SystemCenter.WebApplication.WebApplicationData</InputType>
  </InputTypes>
</ConditionDetectionModuleType>

Parameters

The Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper module supports the following configuration parameters.

 

Parameter Type Description

RequestID

Integer

Required parameter. Contains the ID of the request to map.

ObjectName

String

Required parameter. Specifies the performance object name.

CounterName

String

Required parameter. Specifies the performance counter name.

InstanceName

String

Required parameter. Specifies the instance name, but can empty if there is only a single instance.

Value

String

Required parameter. Specifies the numeric value for the performance value.

Composition

The Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper module is a composite module that contains the member modules that are described in the following table.

 

Workflow Run Order Module Type Usage

1

System.ExpressionFilter

Filters the workflow to instances where CollectPerformanceData is set to true, and where the request does not return an error.

2

System.Performance.DataGenericMapper

Maps the returned data to System.Performance.Data.

Related Modules

 

Module Type Usage

Microsoft.SystemCenter.WebApplication.PerformanceMapperMicrosoft.SystemCenter.WebApplication.PerformanceMapper

Maps the performance of a specific request, instead of the performance of the entire web application.

Microsoft.SystemCenter.WebApplication.UrlProbe

Data source module that provides data to be mapped.

External Module References

None

Sample

The following example shows a performance collection rule that uses Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper. Note that the RequestID element is included, so that performance data is collected for only this request.

<Rule ID="MPAuthor.WebApplication.Request1.BasePage.DNSResolutionTime" Enabled="true" Target="MPAuthor.WebApplication" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
  <Category>PerformanceCollection</Category>
  <DataSources>
    <DataSource ID="DataSource" TypeID="MPAuthor.WebApplication.UrlDataSource" />
  </DataSources>
  <ConditionDetection ID="PerfMapper" TypeID="MicrosoftSystemCenterWebApplicationLibrary!Microsoft.SystemCenter.WebApplication.Request.PerformanceMapper">
    <RequestID>1</RequestID>
    <ObjectName>Web Request</ObjectName>
    <CounterName>Web Request DNS Resolution Time</CounterName>
    <InstanceName>$Data/RequestResults/RequestResult[@Id="1"]/BasePageData/RequestUrl$</InstanceName>
    <Value>$Data/RequestResults/RequestResult[@Id="1"]/BasePageData/DNSResolutionTime$</Value>
  </ConditionDetection>
  <WriteActions>
    <WriteAction ID="WriteAction" TypeID="SystemCenter!Microsoft.SystemCenter.CollectPerformanceData" />
    <WriteAction ID="WriteActionDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData" />
  </WriteActions>
</Rule>

Information

 

   

Module Type

ConditionDetectionModuleType

Input Type

Microsoft.SystemCenter.WebApplication.WebApplicationData

Output Type

System.Performance.Data

Implementation

Composite

Library

Microsoft.SystemCenter.WebApplication.Library

 
Show: