处理器利用率数据源

System.NetworkManagement.SnmpPerformanceProvider.ProcessorUtilization (DataSourceModuleType)

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.Performance.Data

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.NetworkManagement.ComputedPerfProvider Default
ErrorFilter ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Intervalint$Config/Interval$间隔性能数据请求时间间隔(秒)
NoOfRetriesint$Config/NoOfRetries$重试次数性能数据请求在超时情况下将重试的次数
Timeoutint$Config/Timeout$超时性能数据请求超时之前的时间量(以毫秒为单位)

Source Code:

<DataSourceModuleType ID="System.NetworkManagement.SnmpPerformanceProvider.ProcessorUtilization" Accessibility="Internal" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.ParamListSchema</SchemaType>
<SchemaType>System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="Interval" type="xsd:integer"/>
<xsd:element minOccurs="0" maxOccurs="1" default="3" name="NoOfRetries" type="xsd:unsignedInt"/>
<xsd:element minOccurs="0" maxOccurs="1" default="1500" name="Timeout" type="xsd:unsignedInt"/>
<xsd:element minOccurs="1" name="ObjectName" type="xsd:string"/>
<xsd:element minOccurs="1" name="CounterName" type="xsd:string"/>
</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="DS" TypeID="System.NetworkManagement.ComputedPerfProvider">
<Interval>$Config/Interval$</Interval>
<NoOfRetries>$Config/NoOfRetries$</NoOfRetries>
<Timeout>$Config/Timeout$</Timeout>
<SnmpVarBinds>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.9.9.109.1.1.1.1.8.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.9.9.109.1.1.1.1.5.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.9.2.1.58.0</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</SnmpVarBinds>
<ComputedPerformanceValue>
<BranchValueExpression>
<Expression>
<SimpleExpression>
<!-- SNMP query failed on ErrorCode equal to 0, return 0 in that case -->
<ValueExpression>
<XPathQuery Type="String">ErrorCode</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<TrueValueExpression>
<!-- SNMP query failed, return -1 error value -->
<NumericValue>
<Value Type="Double">-1.0</Value>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<!-- SNMP query succeeded, find first OID with a valid value -->
<NumericValue>
<BranchValueExpression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.9.9.109.1.1.1.1.8.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$"]/Syntax</XPathQuery>
</ValueExpression>
<Operator>DoesNotMatchRegularExpression</Operator>
<Pattern>^(5|128|129)$</Pattern>
</RegExExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.9.9.109.1.1.1.1.8.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$"]/Value</XPathQuery>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.9.9.109.1.1.1.1.5.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$"]/Syntax</XPathQuery>
</ValueExpression>
<Operator>DoesNotMatchRegularExpression</Operator>
<Pattern>^(5|128|129)$</Pattern>
</RegExExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.9.9.109.1.1.1.1.5.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$"]/Value</XPathQuery>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<BranchValueExpression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.9.2.1.58.0"]/Syntax</XPathQuery>
</ValueExpression>
<Operator>DoesNotMatchRegularExpression</Operator>
<Pattern>^(5|128|129)$</Pattern>
</RegExExpression>
</Expression>
<TrueValueExpression>
<NumericValue>
<XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[OID=".1.3.6.1.4.1.9.2.1.58.0"]/Value</XPathQuery>
</NumericValue>
</TrueValueExpression>
<FalseValueExpression>
<NumericValue>
<!-- Couldn't match any OIDs, return error value -->
<Value Type="Double">-1.0</Value>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</NumericValue>
</FalseValueExpression>
</BranchValueExpression>
</ComputedPerformanceValue>
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<OutputOnError>true</OutputOnError>
</DataSource>
<ConditionDetection ID="ErrorFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Double">-1.0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="ErrorFilter">
<Node ID="DS"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Performance!System.Performance.Data</OutputType>
</DataSourceModuleType>