# Managed Object - VsanPerformanceManager(vim.cluster.VsanPerformanceManager)

See also
  ClusterComputeResource, ComputeResource, DynamicData, Task, VirtualMachineProfileSpec, VsanObjectInformation, VsanPerfDiagnoseQuerySpec, VsanPerfDiagnosticException, VsanPerfDiagnosticResult, VsanPerfEntityMetricCSV, VsanPerfEntityType, VsanPerfHotspotEntitiesMetrics, VsanPerfHotspotQuerySpec, VsanPerfNodeInformation, VsanPerfQuerySpec, VsanPerfTimeRange, VsanPerfTimeRangeQuerySpec, VsanPerfTopQuerySpec, VsanRemoteClusterQuerySpec
Since
  vSphere API 5.5

## Managed Object Description

This managed object type provides the service interface for obtaining statistical data about various aspects of vSAN performance, as generated and maintained by the vSAN performance service of the cluster. It also offers methods to enable/disable, configure and perform other maintenance tasks about the vSAN performance service. It is available on both vCenter as well as ESXi under the vSAN extension endpoint. On both systems a singleton object is registered under the Managed Object ID 'vsan-performance-manager'.
All the vSAN hosts belongs to one of the following two type in performance service perspective.
Stats Master node: see VsanPerfNodeInformation
Agent node: all other nodes except the master node, which collect its performance statistics when receive the request from master then send it back.

Properties

Name | Type | Description
--- | --- | ---
None

Methods

Methods defined in this Managed Object
GetVsanPerfDiagnosisResult, QueryRemoteServerClusters, QueryVsanPerfHotspotEntities, QueryVsanPerfTopEntities, VsanPerfCreateStatsObject, VsanPerfCreateStatsObjectTask, VsanPerfDeleteStatsObject, VsanPerfDeleteStatsObjectTask, VsanPerfDeleteTimeRange, VsanPerfDiagnose, VsanPerfDiagnoseTask, VsanPerfGetAggregatedEntityTypes, VsanPerfGetSupportedDiagnosticExceptions, VsanPerfGetSupportedEntityTypes, VsanPerfQueryClusterHealth, VsanPerfQueryNodeInformation, VsanPerfQueryPerf, VsanPerfQueryStatsObjectInformation, VsanPerfQueryTimeRanges, VsanPerfSaveTimeRanges, VsanPerfSetStatsObjectPolicy, VsanPerfToggleVerboseMode

# GetVsanPerfDiagnosisResult(getVsanPerfDiagnosisResult)

Returns the diagnosis result from the in memory cache for the supplied task. The task should have been returned by VsanPerfDiagnoseTask. This API is available only in the vCenter, it is not available at the end-host.

Required Privileges
  None
Since
  vSAN API 6.7

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
task P | ManagedObjectReference to a Task | Task returned by VsanPerfDiagnoseTask Since vSAN API 6.7
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSAN API 6.7

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
VsanPerfDiagnosticResult[] | A list of performance issues.

Faults

Type | Description
--- | ---
NotFound | Thrown if no result is found in the cache for the specified task
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanFault | Thrown if the caller doesn't have the required privilege, or the cluster has no hosts.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="GetVsanPerfDiagnosisResult" type="vsan:GetVsanPerfDiagnosisResultRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="GetVsanPerfDiagnosisResultResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfDiagnosticResult" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# QueryRemoteServerClusters(queryRemoteServerClusters)

Query all remote server clusters ever mounted from perf database by the specified query specification and return their UUIDs. This API is available on VC and stats master node.

Required Privileges
  None
Since
  vSAN API vSAN 7.0U1

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | Local vSAN cluster. This parameter will be ignored if the API is called against host. Since vSAN API vSAN 7.0U1
querySpec* P | VsanRemoteClusterQuerySpec | Specification for the query operation. If the parameter is not specified all available remote clusters will be returned. Since vSAN API vSAN 7.0U1

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
xsd:string[] |

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if any argument passed to the function is not specified correctly.
NotFound |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryRemoteServerClusters" type="vsan:QueryRemoteServerClustersRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryRemoteServerClustersResponse"> <complexType> <sequence> <element name="returnval" type="xsd:string" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# QueryVsanPerfHotspotEntities(queryVsanPerfHotspotEntities)

The API is designed to return a list of hotspot entities that are consuming the most IOPS, throughput or latency according to given start time and end time in the vSAN cluster.

Required Privileges
  None
Since
  vSAN API 8.0.0.3

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | vSAN cluster, which is ignored if the API is called against host. Since vSAN API 8.0.0.3
querySpec P | VsanPerfHotspotQuerySpec | Represent query specification to retrieve the desired top entities. Since vSAN API 8.0.0.3

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
VsanPerfHotspotEntitiesMetrics[] | A list of hotspot entities with the expected metric values at the given start time and end time.

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly, e.g., numEntities is more than 64.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout | Thrown if this API is timeout.
VsanNodeNotMaster | Thrown if this API is invokded against stats agent node.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryVsanPerfHotspotEntities" type="vsan:QueryVsanPerfHotspotEntitiesRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryVsanPerfHotspotEntitiesResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfHotspotEntitiesMetrics" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# QueryVsanPerfTopEntities(queryVsanPerfTopEntities)

The API is designed to return a list of top contributors with either type of VM or disk group that are consuming the most IOPS, throughput or latency in the vSAN cluster.

Required Privileges
  None
Since
  vSAN API vSAN 7.0U2

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | vSAN cluster, which is ignored if the API is called against host. Since vSAN API vSAN 7.0U2
querySpec P | VsanPerfTopQuerySpec | Represent query specification to retrieve the desired top entities. Since vSAN API vSAN 7.0U2

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
VsanPerfEntityMetricCSV[] | A list of top entities with the expected metric values at the given time stamp.

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly, e.g., numEntities is above 50.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanNodeNotMaster | Thrown if this API is invokded against stats agent node.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryVsanPerfTopEntities" type="vsan:QueryVsanPerfTopEntitiesRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="QueryVsanPerfTopEntitiesResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfEntityMetricCSV" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfCreateStatsObject(createStatsObject)

Create the vSAN object/directory containing the vSAN Perf Stats DB. Creation of the object also starts the collection of statistics as a side effect, i.e., it effectively enables the vSAN performance service. Profile can be 3 formats:
- VirtualMachineEmptyProfileSpec means to use the empty vSAN policy. This is not the default policy, but a policy where all fields have default values.
- VirtualMachineDefinedProfileSpec where profileId is set, in which case this profileId will be looked up in SPBM for the detailed policy information.
- VirtualMachineDefinedProfileSpec where profileId is an empty string and instead the profileData is set for extensionKey 'com.vmware.vim.sps'. In this case the objectData field can be either the vSAN expression format, or a SPBM XML string.
If no profile is supplied, and the call is executed against vCenter, then SPBM will be consulted for the vSAN datastore's default profile.
Profile is ignored if executed against ESXi host.
- If the vSAN object is already exist, return directly.
- If vSAN is disabled, DestinationVsanDisabled exception will be raised.
- If SPBM needs to be contacted, but SPBM is not available, RuntimeFault exception will be raised.
- If the profileId can not be resolved with SPBM, InvalidArgument exception will be raised.
- If objectData was provided but is neither of the two supported formats, InvalidArgument exception will be raised.
- If the statsDB object can not be found, FileNotFound exception will be raised.
- If the statsDB object failed to set the policy, e.g. because it is not accessible, FileNotWritable exception will be raised.
- If called against VC, but no ESX host could be contacted to perform the operation NotFound exception will be raised.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5
profile* P | VirtualMachineProfileSpec | Profile to be used for the stats object, see above. Since vSphere API 5.5

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
xsd:string | mounted path of the vSAN stats object (using "/" as path separator) i.e. /vmfs/volumes/vsan:525218c52dce3d62-e51a774ec7aef712/

Faults

Type | Description
--- | ---
CannotCreateFile | Thrown if it cannot complete file creation operation.
FileAlreadyExists | Thrown if the stats object already exists.
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter.
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Thrown if the pre-check tests failed.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfCreateStatsObject" type="vsan:VsanPerfCreateStatsObjectRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfCreateStatsObjectResponse"> <complexType> <sequence> <element name="returnval" type="xsd:string"/> </sequence> </complexType> </element>

# VsanPerfCreateStatsObjectTask(createStatsObjectTask)

The asynchronous API of CreateStatsObject. The stats obj is created in in background, with a task returned. This method is only supported on vCenter.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5
profile* P | VirtualMachineProfileSpec | Profile to be used for the stats object, see above Since vSphere API 5.5

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | vim task

Faults

Type | Description
--- | ---
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Thrown if the caller doesn't have the required privilege, or the cluster has no hosts.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfCreateStatsObjectTask" type="vsan:VsanPerfCreateStatsObjectTaskRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfCreateStatsObjectTaskResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>

# VsanPerfDeleteStatsObject(deleteStatsObject)

Delete vSAN object/directory containing the vSAN Perf Stats DB. This method is only supported on ESXi host. Note: this will destroy all history and shut down the vSAN performance service. If the vSAN object doesn't exist, FileNotWritable exception will be raised. If vSAN is disabled, DestinationVsanDisabled exception will be raised. The operation can only be performed by masters, so VsanNodeNotMaster is raised when the node is not Stats master.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5

*Need not be set P Required privilege: cluster

Return Value

Type | Description
--- | ---
xsd:boolean | True on success

Faults

Type | Description
--- | ---
CannotCreateFile | Thrown if it cannot complete file creation operation.
FileNotWritable |
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter.
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Thrown if the pre-check tests failed, or the host in the states that do not allow objects deletion (i.e. maintenance mode with data migration mode: ensure accessibility).
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDeleteStatsObject" type="vsan:VsanPerfDeleteStatsObjectRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDeleteStatsObjectResponse"> <complexType> <sequence> <element name="returnval" type="xsd:boolean"/> </sequence> </complexType> </element>

# VsanPerfDeleteStatsObjectTask(deleteStatsObjectTask)

The asynchronous API of DeleteStatsObject. The statistics object is created in background, with a task returned. This method is only supported on vCenter.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5

*Need not be set P Required privilege: cluster

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | vim task

Faults

Type | Description
--- | ---
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Thrown if the caller doesn't have the required privilege, or the cluster has no hosts.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDeleteStatsObjectTask" type="vsan:VsanPerfDeleteStatsObjectTaskRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDeleteStatsObjectTaskResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>

# VsanPerfDeleteTimeRange(deleteTimeRange)

Delete saved time range in performance service.

Required Privileges
  Global.Diagnostics
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | Since vSAN API 6.6
name P | xsd:string | Delete by the name of VsanPerfTimeRange Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
None

Faults

Type | Description
--- | ---
InvalidArgument |
NotFound |
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDeleteTimeRange" type="vsan:VsanPerfDeleteTimeRangeRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDeleteTimeRangeResponse"> <complexType/> </element>

# VsanPerfDiagnose(vsanPerfDiagnose)

Deprecated. As of vSphere API 6.7, please use VsanPerfDiagnoseTask instead.

API to do performance diagnosis.

Required Privileges
  None
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
perfDiagnoseQuery P | VsanPerfDiagnoseQuerySpec | The query describing details of diagnosis required, such as the period of diagnosis and the query type. Since vSAN API 6.6
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
VsanPerfDiagnosticResult[] | The list of performance issues found. Each performance issue is returned as a VsanPerfDiagnosticResult. The VsanPerfDiagnosticResult object will contain the entity and the metrics that caused the performance exception.

Faults

Type | Description
--- | ---
InvalidArgument |
NotFound |
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDiagnose" type="vsan:VsanPerfDiagnoseRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDiagnoseResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfDiagnosticResult" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfDiagnoseTask(vsanPerfDiagnoseTask)

Runs a diagnostic query to determine performance issues in a vSAN cluster. This API call investigates the state of the vSAN cluster during the chosen period of time, and returns any issues (list of VsanPerfDiagnosticResult) that may be limiting the performance of the vSAN cluster. This API is available from only the vCenter, it is not available at the end-host. Processing is performed in the background, and a task is returned. Please wait for the task to finish, and then call GetVsanPerfDiagnosisResult to retrieve results.

Required Privileges
  None
Since
  vSAN API 6.7

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
perfDiagnoseQuery P | VsanPerfDiagnoseQuerySpec | The query describing details of diagnosis required, such as the period of diagnosis and the query type. Since vSAN API 6.7
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSAN API 6.7

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | A task doing the asynchronous work.

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly.
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter or if the API was not invoked on vCenter or if CEIP is not enabled
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanFault | Thrown if the caller doesn't have the required privilege, or the cluster has no hosts.
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDiagnoseTask" type="vsan:VsanPerfDiagnoseTaskRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfDiagnoseTaskResponse"> <complexType> <sequence> <element name="returnval" type="vsan:ManagedObjectReference"/> </sequence> </complexType> </element>

# VsanPerfGetAggregatedEntityTypes(getAggregatedEntityTypes)

Get supported aggregated entity types for front end data-driven reporting of diagnostic exceptions which return aggregated data. This API can be used to build performance graphs of aggregated data in a dynamic way.

Required Privileges
  System.Read
Since
  vSAN API 6.7

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.

Return Value

Type | Description
--- | ---
VsanPerfEntityType[] |

Faults

Type | Description
--- | ---
NotFound |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfGetAggregatedEntityTypes" type="vsan:VsanPerfGetAggregatedEntityTypesRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfGetAggregatedEntityTypesResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfEntityType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfGetSupportedDiagnosticExceptions(getSupportedDiagnosticExceptions)

Get supported performance exceptions for front end data-driven performance exception reporting

Required Privileges
  System.Read
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.

Return Value

Type | Description
--- | ---
VsanPerfDiagnosticException[] |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfGetSupportedDiagnosticExceptions" type="vsan:VsanPerfGetSupportedDiagnosticExceptionsRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfGetSupportedDiagnosticExceptionsResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfDiagnosticException" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfGetSupportedEntityTypes(getSupportedEntityTypes)

This API is used to build performance graphs in a data-driven and dynamic way. Before querying stats, you need to know the entity type for specifying entity ID of the query spec. If you want to query specific metrics, you need to know what metrics are supported by that type of entities. And you may want to know how to organize the metrics into different graphs. The returned list of VsanPerfEntityType data model tells you all the information you needed for above questions.
Each VsanPerfEntityType object describes supported metrics grouped by graphs for a type of entities like VMs. The name attribute of VsanPerfEntityType is the entity type ID used as part of the entity ID in the query spec. See entityRefId.
The model of vim.cluster.VsanPerfEntityType defines a list of performance graphs (VsanPerfGraph). And VsanPerfGraph defines a list of metrics (VsanPerfMetricId). This tells you how to organized different metrics to a graph and supported metrics of a type of entities. Then front-end/client can compose query specs using the information from the VsanPerfEntityType list and entity instance UUIDs to retrieved wanted performance statistics.

Required Privileges
  System.Read

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.

Return Value

Type | Description
--- | ---
VsanPerfEntityType[] |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfGetSupportedEntityTypes" type="vsan:VsanPerfGetSupportedEntityTypesRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfGetSupportedEntityTypesResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfEntityType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfQueryClusterHealth(queryClusterHealth)

Compute the health summary of the cluster with regards to the performance service. Will return health summary groups (VsanClusterHealthGroup) that express the health of the vSAN Performance Service. This method is supported on both vCenter and host.
When it is invoked on an ESXi host, the behaviors depends on the managed objects on which it invokes. If it is invoked on instance with mo id "vsan-performance-manager", it only includes current ESXi host performance health information, while for mo id "vsan-cluster-performance-manager", it includes information of hosts belonging to the whole vSAN cluster, similar as invoked against vCenter. If no ESXi host could be contacted to perform the operation NotFound exception will be raised.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster P | ManagedObjectReference to a ClusterComputeResource | The cluster for which to compute health for. Since vSphere API 5.5

P Required privilege: cluster

Return Value

Type | Description
--- | ---
DynamicData[] | vim.cluster.VsanClusterHealthGroup[] A list of health groups.

Faults

Type | Description
--- | ---
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter.
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryClusterHealth" type="vsan:VsanPerfQueryClusterHealthRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryClusterHealthResponse"> <complexType> <sequence> <element name="returnval" type="vsan:DynamicData" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfQueryNodeInformation(queryNodeInformation)

Query performance service related information about the node(s). Always returns a list, but when run against the host the list is guaranteed to have length=1. If run against vCenter, information about all hosts in the cluster is retrieved. If information of one host can not be retrieved, there are 2 situations:

1. If the host is connected: it will throw "invalid Request", "method fault", "vsan fault" or other run time exception message.
2. If the host is not connected, it will throw "host is not in connected status" message.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5

*Need not be set P Required privilege: cluster

Return Value

Type | Description
--- | ---
VsanPerfNodeInformation[] |

Faults

Type | Description
--- | ---
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryNodeInformation" type="vsan:VsanPerfQueryNodeInformationRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryNodeInformationResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfNodeInformation" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfQueryPerf(queryVsanPerf)

Retrieves the performance metrics for the specified vSAN entity (or entities) based on the properties specified in the VsanPerfQuerySpec data object The supported entity types are listed as bellow.
- 'cluster-domclient'
- 'cluster-domcompmgr'
- 'host-domclient'
- 'host-domcompmgr'
- 'cache-disk'
- 'capacity-disk'
- 'disk-group'
- 'vscsi'
- 'virtual-machine'
- 'virtual-disk'
- 'vsan-host-net'
- 'vsan-vnic-net'
- 'vsan-pnic-net'
- 'lsom-world-cpu'
- 'dom-world-cpu'
- 'host-cpu'
- 'nic-world-cpu'
- 'vsan-cpu'
- 'vsan-memory'
- 'rdt-net'
The below entity types are used for vSAN ESA related metrics.
- 'vsan-esa-disk-layer'
- 'vsan-esa-disk-scsifw'
- 'zdom-vtx'
The below entity types are used for HCI mesh related metrics.
- 'cluster-remotedomclient'
- 'computeCluster-remotedomclient'
The below entity types are used for vSAN direct related metrics.
- 'vsan-direct-cluster'
- 'vsan-direct-host'
The below entity types are used for PMem related metrics.
- 'host-pmem'
- 'cluster-pmem'
The below entity types are used for vSAN iSCSI service related metrics. The metrics are only collected when vSAN iSCSI service is enabled.
- 'vsan-iscsi-host'
- 'vsan-iscsi-lun'
- 'vsan-iscsi-target'
The below entity type is used for vSAN datastore capacity historical data.
- 'vsan-cluster-capacity'
The below entity type is used for vSAN file service related metrics. The metrics are only collected when vSAN file service is enabled.
- 'vsan-file-service'
The below entity type is used for IOInsight related metrics. The metrics are only collected when the IOInsight instance is running.
- 'ioinsight'
- 'ioinsight-histogram'

To identify an entity in vSAN performance query spec, a vSAN performance entity reference is used.
An vSAN performance entity is in this format <entity-type>:<entity-uuid>.
Below are the examples:

Entity Type | Entity ID format | Example | Notes
--- | --- | --- | ---
cluster-domclient | <cluster-UUID> | 'cluster-domclient:52c89b61-f818-e495-af20-816d24c850b8' | The UUID is represented by the associated cluster UUID.
cluster-domcompmgr | <cluster-UUID> | 'cluster-domcompmgr:52c89b61-f818-e495-af20-816d24c850b8' | The UUID is represented by the associated cluster UUID.
host-domclient | <host-UUID> | 'host-domclient:588b2225-c58c-8365-c47b-02001065be12' | The UUID is represented by the associated ESXi host UUID.
host-domcompmgr | <host-UUID> | 'host-domcompmgr:588b2225-c58c-8365-c47b-02001065be12' | The UUID is represented by the associated ESXi host UUID.
cache-disk | <CacheDisk-UUID> | 'cache-disk:55c98c4d-41f0-6ff7-2784-0200103eb5e1' | The UUID is represented by the associated cache disk UUID.
capacity-disk | <CapacityDisk-UUID> | 'capacity-disk:55c98c4d-41f0-6ff7-2784-0200103eb5e1' | The UUID is represented by the associated capacity disk UUID.
disk-group | <CacheDisk-UUID> | 'disk-group:55c98c4d-41f0-6ff7-2784-0200103eb5e1' | The UUID is represented by the associated disk group UUID, which is the same as cache disk UUID.
vscsi | <VM-instance-UUID>|<VSCSI-name> | 'vscsi:55c98c4d-41f0-6ff7-2784-0200103eb5e1|vscsi0:1' | The UUID is represented by the associated VM instance UUID with its VSCSI name. Virtual disk IOPS limit statistics are associated with 'virtual-disk'.
virtual-machine | <VM-instance-UUID> | 'virtual-machine:55c98c4d-41f0-6ff7-2784-0200103eb5e1' | The UUID is represented by the associated VM instance UUID.
virtual-disk | <VM-dir-uuid>/<VMDK-file-name> | 'virtual-disk:a2a04b57-e0e6-502b-e4a0-0200073bd703/iops-160-10.160.109.28-1_1.vmdk' | The UUID is represented by the VMDK file path, which can be retrieved using the vSphere API.
vsan-vnic-net | <host-UUID>|<stack-name>|<vnic-name> | 'vsan-vnic-net:588b2225-c58c-8365-c47b-02001065be12|defaultTcpipStack|vmknic0' | The UUID is represented by the associated ESXi host UUID with its stack name and vNIC name.
vsan-pnic-net | <host-UUID>|<pnic-name> | 'vsan-pnic-net:588b2225-c58c-8365-c47b-02001065be12|vmnic0' | This UUID is represented by the associated ESXi host UUID with the pNIC name.
lsom-world-cpu | <host-UUID>|<world-name>|<world-id> | 'lsom-world-cpu:5ad47458-3bca-870a-602c-02002c89fe44|VSAN_0x43050bf3f7f8_LSOMLLOG|1001393599' | The UUID is represented by the associated ESXi host UUID with the LSOM world name and its world ID.
dom-world-cpu | <host-UUID>|<world-name>|<world-id> | 'dom-world-cpu:5ad47458-3bca-870a-602c-02002c89fe44|VSAN_0x430bfa348888_CompServer|1001393015' | The UUID is represented by the associated ESXi host UUID with its DOM world name and world ID.
host-cpu | <host-UUID> | 'host-cpu:5ad47458-3bca-870a-602c-02002c89fe44' | The UUID is represented by the associated ESXi host UUID.
iscsi-target-alias | <iscsi-target-alias>|<lunid> | 'iscsi-target-alias:iscsitargetaliasexample|1' | The UUID is represented by iSCSI target alias with the LUN ID.
vsan-cluster-capacity | <cluster-UUID> | 'vsan-cluster-capacity:52c89b61-f818-e495-af20-816d24c850b8' | The UUID is represented by the associated cluster UUID.
vsan-file-service | <domain-name>|<share-name> | 'vsan-file-service:VSANFS-LOCAL.PRV|genericShare' | The UUID is represented by the domain name and the share name.
nic-world-cpu | <host-UUID>|<world-name> | 'nic-world-cpu:5b9f8fd9-3687-7003-2f0b-02002fc9daae|vmnic0-pollWorld-0' | The UUID is represented by the associated ESXi host UUID with its vNIC/pNIC world name.
vsan-cpu | <host-UUID> | 'vsan-cpu:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
vsan-memory | <host-UUID> | 'vsan-memory:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
rdt-net | <host-UUID> | 'rdt-net:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
vsan-esa-disk-layer | <host-UUID> | 'vsan-esa-disk-layer:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
vsan-esa-disk-scsifw | <host-UUID> | 'vsan-esa-disk-scsifw:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
zdom-vtx | <host-UUID> | 'zdom-vtx:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
cluster-remotedomclient | <cluster-UUID> | 'cluster-remotedomclient:52c89b61-f818-e495-af20-816d24c850b8' | The UUID is represented by the associated cluster UUID.
computeCluster-remotedomclient | <cluster-UUID> | 'computeCluster-remotedomclient:52c89b61-f818-e495-af20-816d24c850b8' | The UUID is represented by the associated cluster UUID.
vsan-direct-cluster | <cluster-UUID> | 'vsan-direct-cluster:52c89b61-f818-e495-af20-816d24c850b8' | The UUID is represented by the associated cluster UUID.
vsan-direct-host | <host-UUID> | 'vsan-direct-host:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host UUID.
host-pmem | <host-UUID> | 'host-pmem:5afa638a-f98a-c9f5-9f8a-0050569ee233' | The UUID represents the associated ESXi host hardware UUID.
cluster-pmem | <cluster-MOID> | 'cluster-pmem:domain-c21' | The MOID represents the associated managed object ID.
ioinsight | <VM-instance-UUID>|<VSCSI-name> | 'ioinsight:55c98c4d-41f0-6ff7-2784-0200103eb5e1|vscsi0:1' | The UUID is represented by the associated VM instance UUID with its VSCSI name.
ioinsight-histogram | <VM-instance-UUID>|<VSCSI-name> | 'ioinsight-histogram:55c98c4d-41f0-6ff7-2784-0200103eb5e1|vscsi0:1' | The UUID is represented by the associated VM instance UUID with its VSCSI name.

Supported metrics for each entity type:

Entity Type | Metrics (Labels)
--- | ---
'cluster-domclient' | 'iopsRead', 'throughputRead', 'latencyAvgRead', 'iopsWrite', 'throughputWrite', 'latencyAvgWrite', 'congestion', 'oio'
'cluster-domcompmgr' | 'iopsRead', 'throughputRead', 'latencyAvgRead', 'iopsWrite', 'throughputWrite', 'latencyAvgWrite', 'iopsRecWrite', 'throughputRecWrite', 'latencyAvgRecWrite', 'congestion', 'oio', 'iopsResyncRead', 'tputResyncRead', 'latAvgResyncRead'
'host-domclient' | 'iopsRead', 'throughputRead', 'latencyAvgRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyAvgWrite', 'writeCount', 'congestion', 'oio', 'clientCacheHits', 'clientCacheHitRate', 'iopsUnmap', 'throughputUnmap', 'latencyAvgUnmap'
'host-domcompmgr' | 'iopsRead', 'throughputRead', 'latencyAvgRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyAvgWrite', 'writeCount', 'iopsRecWrite', 'throughputRecWrite', 'latencyAvgRecWrite', 'recWriteCount', 'congestion', 'oio', 'iopsResyncRead', 'tputResyncRead', 'latAvgResyncRead', 'iopsUnmap', 'iopsRecUnmap', 'throughputUnmap', 'throughputRecUnmap', 'latencyAvgUnmap', 'latencyAvgRecUnmap'
'cache-disk' | 'iopsDevRead', 'throughputDevRead', 'latencyDevRead', 'ioCountDevRead', 'iopsDevWrite', 'throughputDevWrite', 'latencyDevWrite', 'ioCountDevWrite', 'latencyDevDAvg', 'latencyDevGAvg'
'capacity-disk' | 'iopsDevRead', 'throughputDevRead', 'latencyDevRead', 'ioCountDevRead', 'iopsDevWrite', 'throughputDevWrite', 'latencyDevWrite', 'ioCountDevWrite', 'latencyDevDAvg', 'latencyDevGAvg', 'iopsRead', 'latencyRead', 'ioCountRead', 'iopsWrite', 'latencyWrite', 'ioCountWrite', 'deleteCongestion'
'disk-group' | 'iopsSched', 'latencySched', 'outstandingBytesSched', 'iopsSchedQueueRec', 'throughputSchedQueueRec','latencySchedQueueRec', 'iopsSchedQueueVM', 'throughputSchedQueueVM','latencySchedQueueVM', 'iopsSchedQueueMeta', 'throughputSchedQueueMeta','latencySchedQueueMeta', 'iopsDelayPctSched', 'latencyDelaySched', 'rcHitRate', 'wbFreePct', 'warEvictions', 'quotaEvictions', 'iopsRcRead', 'latencyRcRead', 'ioCountRcRead', 'iopsWbRead', 'latencyWbRead', 'ioCountWbRead', 'iopsRcWrite', 'latencyRcWrite', 'ioCountRcWrite', 'iopsWbWrite', 'latencyWbWrite', 'ioCountWbWrite', 'ssdBytesDrained', 'zeroBytesDrained', 'memCongestion', 'slabCongestion', 'ssdCongestion', 'iopsCongestion', 'logCongestion', 'compCongestion', 'iopsDirectSched', 'iopsRead', 'throughputRead', 'latencyAvgRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyAvgWrite', 'writeCount', 'oioWrite', 'oioRecWrite', 'oioWriteSize', 'oioRecWriteSize', 'rcSize', 'wbSize', 'capacity', 'capacityUsed', 'capacityReserved', 'throughputSched', 'iopsResyncReadPolicy', 'iopsResyncReadDecom', 'iopsResyncReadRebalance', 'iopsResyncReadFixComp', 'iopsResyncWritePolicy', 'iopsResyncWriteDecom', 'iopsResyncWriteRebalance', 'iopsResyncWriteFixComp', 'tputResyncReadPolicy', 'tputResyncReadDecom', 'tputResyncReadRebalance', 'tputResyncReadFixComp', 'tputResyncWritePolicy', 'tputResyncWriteDecom', 'tputResyncWriteRebalance', 'tputResyncWriteFixComp', 'latResyncReadPolicy', 'latResyncReadDecom', 'latResyncReadRebalance', 'latResyncReadFixComp', 'latResyncWritePolicy', 'latResyncWriteDecom', 'latResyncWriteRebalance', 'latResyncWriteFixComp', 'bytesPerSecondBandwidth'
'virtual-machine' | 'iopsRead', 'throughputRead', 'latencyRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyWrite', 'writeCount'
'vscsi' | 'iopsRead', 'throughputRead', 'latencyRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyWrite', 'writeCount'
'virtual-disk' | 'iopsLimit', 'NIOPS', 'NIOPSDelayed'
'vsan-host-net' | 'rxThroughput', 'rxPackets', 'rxPacketsLossRate', 'txThroughput', 'txPackets', 'txPacketsLossRate', 'portRxDrops', 'portTxDrops', 'tcpTxRexmitRate', 'tcpRxErrRate'
'vsan-vnic-net' | 'rxThroughput', 'rxPackets', 'rxPacketsLossRate', 'txThroughput', 'txPackets', 'txPacketsLossRate', 'portRxDrops', 'portTxDrops'
'vsan-pnic-net' | 'rxThroughput', 'rxPackets', 'rxPacketsLossRate', 'txThroughput', 'txPackets', 'txPacketsLossRate', 'portRxDrops', 'portTxDrops', 'pauseCount'
'lsom-world-cpu' | 'usedPct', 'readyPct'
'dom-world-cpu' | 'usedPct', 'readyPct'
'host-cpu' | 'coreUtilPct', 'pcpuUtilPct', 'pcpuUsedPct'
'vsan-iscsi-host' | 'iopsRead', 'iopsWrite', 'iopsTotal', 'bandwidthRead', 'bandwidthWrite', 'bandwidthTotal', 'latencyRead', 'latencyWrite', 'latencyTotal', 'queueDepth'
'vsan-iscsi-target' | 'iopsRead', 'iopsWrite', 'iopsTotal', 'bandwidthRead', 'bandwidthWrite', 'bandwidthTotal', 'latencyRead', 'latencyWrite', 'latencyTotal', 'queueDepth'
'vsan-iscsi-lun' | 'iopsRead', 'iopsWrite', 'iopsTotal', 'bandwidthRead', 'bandwidthWrite', 'bandwidthTotal', 'latencyRead', 'latencyWrite', 'latencyTotal', 'queueDepth'
'vsan-cluster-capacity' | 'total', 'used', 'free', 'savedByDedup', 'dedupRatio'
'vsan-file-service' | 'readRequested', 'readTransferred', 'readOpTotal', 'readLatency', 'writeRequested', 'writeTransferred', 'writeOpTotal', 'writeLatency'
'nic-world-cpu' | 'usedPct', 'readyPct'
'vsan-cpu' | 'usedPct', 'readyPct'
'vsan-memory' | 'kernelReservedSize', 'uwReservedSize'
'rdt-net' | 'checksumMismatchCount'
'vsan-esa-disk-layer' | 'iopsReadCapacity', 'iopsWriteCapacity', 'tputReadCapacity', 'tputReadCapacity', 'avgLatReadCapacity', 'avgLatReadCapacity'
'vsan-esa-disk-scsifw' | 'iopsDevRead', 'iopsDevWrite', 'latencyDevRead', 'latencyDevWrite', 'latencyDevGAvg', 'latencyDevDAvg', 'throughputDevRead', 'throughputDevWrite'
'zdom-vtx' | 'rateTotalCacheMiss', 'rateTotalCacheRef', 'rateTotalLogicalTreeCacheMiss', 'rateTotalMiddleTreeCacheMiss', 'rateTotalSnapTreeCacheMiss', 'rateTotalBitmapCacheMiss', 'rateTotalSutCacheMiss', 'rateTxnPrefetchTotalCacheMiss', 'rateTxnPrefetchLogicalTreeCacheMiss', 'rateTxnPrefetchMiddleTreeCacheMiss', 'rateTxnPrefetchSutCacheMiss', 'rateTxnBankTotalCacheMiss', 'rateTxnBankLogicalTreeCacheMiss', 'rateTxnBankMiddleTreeCacheMiss', 'rateTxnBankSutCacheMiss', 'rateTxnUnmapTotalCacheMiss, 'rateTxnUnmapLogicalTreeCacheMiss', 'rateTxnUnmapMiddleTreeCacheMiss', 'rateTxnUnmapSutCacheMiss', 'rateTxnSegCleaningCtxDataTotalCacheMiss', 'rateTxnSegCleaningCtxDataLogicalTreeCacheMiss', 'rateTxnSegCleaningCtxDataMiddleTreeCacheMiss', 'rateTxnSegCleaningCtxDataSutCacheMiss', 'rateTxnlookUpCacheMiss', 'rateTxnlookUpLogicalTreeCacheMiss', 'rateTxnlookUpMiddleTreeCacheMiss', 'latAvgCacheGet', 'latAvgTotalOpIO', 'latAvgTxnBank', 'latAvgTxnBankTotalIO', 'latAvgTxnUnmap', 'latAvgTxnUnmapTotalIO', 'cacheMissPerPrefetchTxn', 'cacheMissPerBankFlushTxn', 'cacheMissPerLookupTxn'
'cluster-remotedomclient' | 'iopsRead', 'iopsWrite', 'throughputRead', 'throughputWrite', 'latencyAvgRead', 'latencyAvgWrite', 'congestion', 'oio'
'computeCluster-remotedomclient' | 'iopsRead', 'iopsWrite', 'throughputRead', 'throughputWrite', 'latencyAvgRead', 'latencyAvgWrite', 'congestion', 'oio'
'vsan-direct-cluster' | 'iopsDevRead', 'iopsDevWrite', 'throughputDevRead', 'throughputDevWrite', 'latencyDevRead', 'latencyDevWrite', 'oioDevRead', 'oioDevWrite'
'vsan-direct-host' | 'iopsDevRead', 'iopsDevWrite', 'throughputDevRead', 'throughputDevWrite', 'latencyDevRead', 'latencyDevWrite', 'oioDevRead', 'oioDevWrite'
'host-pmem' | 'bandwidthRead', 'bandwidthWrite', 'bandwidthTotal', 'latencyRead', 'latencyWrite', 'iopsRead', 'iopsWrite', 'iopsTotal'
'cluster-pmem' | 'bandwidthRead', 'bandwidthWrite', 'bandwidthTotal', 'latencyRead', 'latencyWrite', 'iopsRead', 'iopsWrite', 'iopsTotal'
'ioinsight' | 'iopsRead', 'iopsWrite', 'iopsTotal', 'throughputRead', 'throughputWrite', 'throughputSequential', 'throughputRandom', 'throughputTotal', 'sequentialReadRatio', 'sequentialWriteRatio', 'sequentialRatio', 'randomReadRatio', 'randomWriteRatio', 'randomRatio', 'aligned4kReadRatio', 'aligned4kWriteRatio', 'aligned4kRatio', 'unaligned4kReadRatio', 'unaligned4kWriteRatio', 'unaligned4kRatio', 'readRatio', 'writeRatio'
'ioinsight-histogram' | 'iosz0_4k', 'riosz0_4k', 'wiosz0_4k', 'iosz4k', 'riosz4k', 'wiosz4k', 'iosz4k_8k', 'riosz4k_8k', 'wiosz4k_8k', 'iosz8k', 'riosz8k', 'wiosz8k', 'iosz8k_16k', 'riosz8k_16k', 'wiosz8k_16k', 'iosz16k', 'riosz16k', 'wiosz16k', 'iosz16k_32k', 'riosz16k_32k', 'wiosz16k_32k', 'iosz32k', 'riosz32k', 'wiosz32k', 'iosz32k_64k', 'riosz32k_64k', 'wiosz32k_64k', 'iosz64k', 'riosz64k', 'wiosz64k', 'iosz64k_128k', 'riosz64k_128k', 'wiosz64k_128k', 'iosz128k', 'riosz128k', 'wiosz128k', 'iosz128k_256k', 'riosz128k_256k', 'wiosz128k_256k', 'iosz256k', 'riosz256k', 'wiosz256k', 'iosz256k_512k', 'riosz256k_512k', 'wiosz256k_512k', 'iosz512k', 'riosz512k', 'wiosz512k', 'iosz512k_1m', 'riosz512k_1m', 'wiosz512k_1m', 'iosz1m', 'riosz1m', 'wiosz1m', 'iosz1_m', 'riosz1_m', 'wiosz1_m', 'lat0_1us', 'rlat0_1us', 'wlat0_1us', 'lat1_10us', 'rlat1_10us', 'wlat1_10us', 'lat10_100us', 'rlat10_100us', 'wlat10_100us', 'lat100_500us', 'rlat100_500us', 'wlat100_500us', 'lat500us_1ms', 'rlat500us_1ms', 'wlat500us_1ms', 'lat1_5ms', 'rlat1_5ms', 'wlat1_5ms', 'lat5_10ms', 'rlat5_10ms', 'wlat5_10ms', 'lat10_25ms', 'rlat10_25ms', 'wlat10_25ms', 'lat25_50ms', 'rlat25_50ms', 'wlat25_50ms', 'lat50_100ms', 'rlat50_100ms', 'wlat50_100ms', 'lat100_ms', 'rlat100_ms', 'wlat100_ms'

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
querySpecs P | VsanPerfQuerySpec[] | A array of VsanPerfQuerySpec objects. The VsanPerfQuerySpec object specifies a reference for an entity, plus optional criteria for filtering results. Only metrics for the entities that can be resolved are returned in any result. The VsanPerfQuerySpec object in this operation can query for different metrics. Or, select all types of statistics for a single entity. See above for supported entity types, metric groups and metrics Note: To avoid performance and resource usage issues caused by massive stats data from a stats query. In each query, the startTime and endTime must be specified in the query spec. And the suggested time span is less than 24 hours. To query stats for larger time range, please use paging mechanism. For example, split the time range in to smaller ones, and use multiple status queries with smaller time ranges. Since vSphere API 5.5
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
VsanPerfEntityMetricCSV[] | The metric values for the specified entity or entities.

Faults

Type | Description
--- | ---
InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly.
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter.
NotSupported | Thrown if the host queried is not a Stats Daemon master
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryPerf" type="vsan:VsanPerfQueryPerfRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryPerfResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfEntityMetricCSV" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfQueryStatsObjectInformation(queryStatsObjectInformation)

Get information about the vSAN object/directory containing the vSAN Perf Stats DB. If the statsDB object can not be found, FileNotFound exception will be raised. If the statsDB object failed to read the policy, e.g. because it is not accessible, FileNotWritable exception will be raised. If called against vCenter, but no ESXi host could be contacted to perform the operation NotFound exception will be raised.

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5

*Need not be set P Required privilege: cluster

Return Value

Type | Description
--- | ---
VsanObjectInformation | Object information structure

Faults

Type | Description
--- | ---
FileNotFound |
FileNotWritable |
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter.
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryStatsObjectInformation" type="vsan:VsanPerfQueryStatsObjectInformationRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryStatsObjectInformationResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanObjectInformation"/> </sequence> </complexType> </element>

# VsanPerfQueryTimeRanges(queryTimeRanges)

Query saved time ranges in performance service.

Required Privileges
  None
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | Since vSAN API 6.6
querySpec P | VsanPerfTimeRangeQuerySpec | Specify the name and time boundaries. See details in VsanPerfTimeRangeQuerySpec Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
VsanPerfTimeRange[] |

Faults

Type | Description
--- | ---
InvalidArgument |
NotFound |
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryTimeRanges" type="vsan:VsanPerfQueryTimeRangesRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfQueryTimeRangesResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VsanPerfTimeRange" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

# VsanPerfSaveTimeRanges(saveTimeRanges)

Save time ranges in performance service.

Required Privileges
  Global.Diagnostics
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | Since vSAN API 6.6
timeRanges P | VsanPerfTimeRange[] | VsanPerfTimeRange list to be saved. Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
None

Faults

Type | Description
--- | ---
InvalidArgument |
NotFound |
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfSaveTimeRanges" type="vsan:VsanPerfSaveTimeRangesRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfSaveTimeRangesResponse"> <complexType/> </element>

# VsanPerfSetStatsObjectPolicy(setStatsObjectPolicy)

Set the policy of the vSAN object/directory containing the vSAN Perf Stats DB. The cluster parameter is ignored if called on ESXi. Profile can be 3 formats:
- 1. VirtualMachineEmptyProfileSpec means to use the empty vSAN policy. This is not the default policy, but a policy where all fields have default values.
- 2. VirtualMachineDefinedProfileSpec where profileId is set, in which case this profileId will be looked up in SPBM for the detailed policy information.
- 3. VirtualMachineDefinedProfileSpec where profileId is an empty string and instead the profileData is set for extensionKey 'com.vmware.vim.sps'. In this case the objectData field can be either the vSAN expression format, or a SPBM XML string.
If no profile is supplied, and the call is executed against vCenter, then SPBM will be consulted for the vSAN datastore's default profile.
When this method returns successfully, the profile has been applied, but vSAN may still be remediating in order to implement the new policy. The health state of the object and resync information should be monitored to check on the progress.
Only the third option is available when called on ESXi, other formats will raise InvalidArgument exception.
Exception:
- If SPBM needs to be contacted, but SPBM is not available, RuntimeFault exception will be raised.
- If the profileId can not be resolved with SPBM, InvalidArgument exception will be raised.
- If objectData was provided but is neither of the two supported formats, InvalidArgument exception will be raised.
- If the statsDB object can not be found, FileNotFound exception will be raised.
- If the statsDB object failed to set the policy, e.g. because it is not accessible, FileNotWritable exception will be raised.
- If called against vCenter, but no ESXi host could be contacted to perform the operation NotFound exception will be raised.
Python code example:
spec = vim.vm.DefinedProfileSpec()
VsanPerfSetStatsObjectPolicy(self.clusterRef, spec)

Required Privileges
  None

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ComputeResource | vSAN cluster. Ignored if called against host. Since vSphere API 5.5
profile* P | VirtualMachineProfileSpec | See above description for all possible options. Since vSphere API 5.5

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
xsd:boolean | True

Faults

Type | Description
--- | ---
FileNotFound |
FileNotWritable |
InvalidArgument |
NotFound | Thrown if no ESXi host could be contacted to perform the operation when called against vCenter.
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFault | Thrown if the caller doesn't have the required privilege

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfSetStatsObjectPolicy" type="vsan:VsanPerfSetStatsObjectPolicyRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfSetStatsObjectPolicyResponse"> <complexType> <sequence> <element name="returnval" type="xsd:boolean"/> </sequence> </complexType> </element>

# VsanPerfToggleVerboseMode(toggleVerboseMode)

Toggle vSAN performance service verbose mode.

Required Privileges
  Global.Settings
Since
  vSAN API 6.6

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the VsanPerformanceManager used to make the method call.
cluster* P | ManagedObjectReference to a ClusterComputeResource | Since vSAN API 6.6
verboseMode P | xsd:boolean | Switch of verbose mode, the type is boolean. Since vSAN API 6.6

*Need not be set P Required privilege - see tooltip for details

Return Value

Type | Description
--- | ---
None

Faults

Type | Description
--- | ---
InvalidArgument |
NotFound |
NotSupported |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
Timedout |
VsanNodeNotMaster |

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfToggleVerboseMode" type="vsan:VsanPerfToggleVerboseModeRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VsanPerfToggleVerboseModeResponse"> <complexType/> </element>