Depolama Havuzu Performans Ölçümü Değerleri Veri Kaynağı

Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.Performance.DS (DataSourceModuleType)

Depolama Havuzu performans ölçümü değerlerinin veri sağlayıcısı.

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.Performance.Data

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.PropertyBag.DS Default
InstanceFilter ConditionDetection System.ExpressionFilter Default
PerfMapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Aralık (saniye)
SyncTimestring$Config/SyncTime$SyncTime
TimeoutSecondsint$Config/TimeoutSeconds$Zaman Aşımı (saniye)

Source Code:

<DataSourceModuleType ID="Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.Performance.DS" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TargetInstanceId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ObjectName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CounterName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ComputerName" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.PropertyBag.DS">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<ScriptName>StorageVolume.PropertyBag.DS.ps1</ScriptName>
<ScriptBody><Script># Creates sets of property bag data wit Total and Remaining Space values foreach LUN
# Script parameters
# - $VMMServer - server computer name

param( [String] $VMMServer)

function Cleanup
{
$module = get-module -name "virtualmachinemanager"

if ($module -ne $null)
{
remove-module -moduleInfo $module
}
}
$server = $null;
Try
{
$errorActionPreference = 'stop' | Out-Null

# Create MOM API object
$api = New-Object -comObject "MOM.ScriptAPI"

#Import VMM commands
$modulePath = get-itemproperty -path "hklm:\software\microsoft\microsoft system center virtual machine manager administrator console\Setup";
Import-Module ($modulePath.InstallPath + "bin\psModules\virtualmachinemanager\virtualmachinemanager.psd1") | Out-Null

#Connect to server
$server = Get-VMMServer -ComputerName $VMMServer

if ($server -eq $null)
{
Cleanup
return;
}

#Get pools
$pools = @(Get-SCStoragePool -VMMServer $server)

# For each pool
foreach ($pool in $pools)
{
#Create Total Space data
$propertyBag = $api.CreatePropertyBag()
$propertyBag.AddValue("InstanceId", $pool.ID.ToString())
$propertyBag.AddValue("CounterName", "Total")
$propertyBag.AddValue("Value", $pool.TotalManagedSpace)
$propertyBag

#Create Remaining Space data
$propertyBag = $api.CreatePropertyBag()
$propertyBag.AddValue("InstanceId", $pool.ID.ToString())
$propertyBag.AddValue("CounterName", "Remaining")
$propertyBag.AddValue("Value", $pool.RemainingManagedSpace)
$propertyBag
}
}
Finally
{
if ($server -ne $null)
{
$server.Disconnect();
}
}</Script></ScriptBody>
<ComputerName>$Config/ComputerName$</ComputerName>
</DataSource>
<ConditionDetection ID="InstanceFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='InstanceId']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/TargetInstanceId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='CounterName']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/CounterName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="PerfMapper" TypeID="Perf!System.Performance.DataGenericMapper">
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/TargetInstanceId$</InstanceName>
<Value>$Data/Property[@Name='Value']$</Value>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="PerfMapper">
<Node ID="InstanceFilter">
<Node ID="DS"/>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Perf!System.Performance.Data</OutputType>
</DataSourceModuleType>