Managed Object - VsanPerformanceManager(vim.cluster.VsanPerformanceManager)

See also
ClusterComputeResource, ComputeResource, DynamicData, Task, VirtualMachineProfileSpec, VsanObjectInformation, VsanPerfDiagnoseQuerySpec, VsanPerfDiagnosticException, VsanPerfDiagnosticResult, VsanPerfEntityMetricCSV, VsanPerfEntityType, 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, 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

NameTypeDescription
_thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
task PManagedObjectReference
to a Task

Task returned by VsanPerfDiagnoseTask

Since vSAN API 6.7
cluster* PManagedObjectReference
to a ComputeResource

vSAN cluster. Ignored if called against host.

Since vSAN API 6.7
*Need not be set PRequired privilege - see tooltip for details

Return Value

Type Description
VsanPerfDiagnosticResult[]A list of performance issues.

Faults

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

Events

Type
None

Show WSDL type definition



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

NameTypeDescription
_thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
cluster* PManagedObjectReference
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* PVsanRemoteClusterQuerySpec

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 PRequired privilege - see tooltip for details

Return Value

Type Description
xsd:string[]

Faults

Type Description
InvalidArgumentThrown if any argument passed to the function is not specified correctly.
NotFound
RuntimeFaultThrown 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



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

NameTypeDescription
_thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
cluster* PManagedObjectReference
to a ClusterComputeResource

vSAN cluster, which is ignored if the API is called against host.

Since vSAN API vSAN 7.0U2
querySpec PVsanPerfTopQuerySpec

Represent query specification to retrieve the desired top entities.

Since vSAN API vSAN 7.0U2
*Need not be set PRequired 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
InvalidArgumentThrown if the set of arguments passed to the function is not specified correctly, e.g., numEntities is above 50.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanNodeNotMasterThrown if this API is invokded against stats agent node.

Events

Type
None

Show WSDL type definition



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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    profile* PVirtualMachineProfileSpec

    Profile to be used for the stats object, see above.

    Since vSphere API 5.5
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

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

    Faults

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

    Events

    Type
    None

    Show WSDL type definition



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    profile* PVirtualMachineProfileSpec

    Profile to be used for the stats object, see above

    Since vSphere API 5.5
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

    Type Description
    ManagedObjectReference
    to a Task
    vim task

    Faults

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

    Events

    Type
    None

    Show WSDL type definition



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    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:booleanTrue on success

    Faults

    Type Description
    CannotCreateFileThrown if it cannot complete file creation operation.
    FileNotWritable
    NotFoundThrown if no ESXi host could be contacted to perform the operation when called against vCenter.
    NotSupported
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    VsanFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    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
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    VsanFaultThrown if the caller doesn't have the required privilege, or the cluster has no hosts.

    Events

    Type
    None

    Show WSDL type definition



    VsanPerfDeleteTimeRange(deleteTimeRange)

    Delete saved time range in performance service.
    Required Privileges
    Global.Diagnostics
    Since
    vSAN API 6.6

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ClusterComputeResource

    Since vSAN API 6.6
    name Pxsd:string

    Delete by the name of VsanPerfTimeRange

    Since vSAN API 6.6
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

    Type Description
    None

    Faults

    Type Description
    InvalidArgument
    NotFound
    NotSupported
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    perfDiagnoseQuery PVsanPerfDiagnoseQuerySpec

    The query describing details of diagnosis required, such as the period of diagnosis and the query type.

    Since vSAN API 6.6
    cluster* PManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSAN API 6.6
    *Need not be set PRequired 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
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    perfDiagnoseQuery PVsanPerfDiagnoseQuerySpec

    The query describing details of diagnosis required, such as the period of diagnosis and the query type.

    Since vSAN API 6.7
    cluster* PManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSAN API 6.7
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

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

    Faults

    Type Description
    InvalidArgumentThrown if the set of arguments passed to the function is not specified correctly.
    NotFoundThrown 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
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
    Timedout
    VsanFaultThrown if the caller doesn't have the required privilege, or the cluster has no hosts.
    VsanNodeNotMaster

    Events

    Type
    None

    Show WSDL type definition



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.

    Return Value

    Type Description
    VsanPerfEntityType[]

    Faults

    Type Description
    NotFound
    RuntimeFaultThrown 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



    VsanPerfGetSupportedDiagnosticExceptions(getSupportedDiagnosticExceptions)

    Get supported performance exceptions for front end data-driven performance exception reporting
    Required Privileges
    System.Read
    Since
    vSAN API 6.6

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.

    Return Value

    Type Description
    VsanPerfDiagnosticException[]

    Faults

    Type Description
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.

    Return Value

    Type Description
    VsanPerfEntityType[]

    Faults

    Type Description
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster PManagedObjectReference
    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
    NotFoundThrown if no ESXi host could be contacted to perform the operation when called against vCenter.
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    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
    RuntimeFaultThrown 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



    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'
  • 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.
    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 TypeMetrics (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'
    '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'
    '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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    querySpecs PVsanPerfQuerySpec[]

    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* PManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

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

    Faults

    Type Description
    InvalidArgumentThrown if the set of arguments passed to the function is not specified correctly.
    NotFoundThrown if no ESXi host could be contacted to perform the operation when called against vCenter.
    NotSupportedThrown if the host queried is not a Stats Daemon master
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    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
    VsanObjectInformationObject information structure

    Faults

    Type Description
    FileNotFound
    FileNotWritable
    NotFoundThrown if no ESXi host could be contacted to perform the operation when called against vCenter.
    NotSupported
    RuntimeFaultThrown 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



    VsanPerfQueryTimeRanges(queryTimeRanges)

    Query saved time ranges in performance service.
    Required Privileges
    None
    Since
    vSAN API 6.6

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ClusterComputeResource

    Since vSAN API 6.6
    querySpec PVsanPerfTimeRangeQuerySpec

    Specify the name and time boundaries. See details in VsanPerfTimeRangeQuerySpec

    Since vSAN API 6.6
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

    Type Description
    VsanPerfTimeRange[]

    Faults

    Type Description
    InvalidArgument
    NotFound
    NotSupported
    RuntimeFaultThrown 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



    VsanPerfSaveTimeRanges(saveTimeRanges)

    Save time ranges in performance service.
    Required Privileges
    Global.Diagnostics
    Since
    vSAN API 6.6

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ClusterComputeResource

    Since vSAN API 6.6
    timeRanges PVsanPerfTimeRange[]

    VsanPerfTimeRange list to be saved.

    Since vSAN API 6.6
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

    Type Description
    None

    Faults

    Type Description
    InvalidArgument
    NotFound
    NotSupported
    RuntimeFaultThrown 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



    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

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    profile* PVirtualMachineProfileSpec

    See above description for all possible options.

    Since vSphere API 5.5
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

    Type Description
    xsd:booleanTrue

    Faults

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

    Events

    Type
    None

    Show WSDL type definition



    VsanPerfToggleVerboseMode(toggleVerboseMode)

    Toggle vSAN performance service verbose mode.
    Required Privileges
    Global.Settings
    Since
    vSAN API 6.6

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VsanPerformanceManager used to make the method call.
    cluster* PManagedObjectReference
    to a ClusterComputeResource

    Since vSAN API 6.6
    verboseMode Pxsd:boolean

    Switch of verbose mode, the type is boolean.

    Since vSAN API 6.6
    *Need not be set PRequired privilege - see tooltip for details

    Return Value

    Type Description
    None

    Faults

    Type Description
    InvalidArgument
    NotFound
    NotSupported
    RuntimeFaultThrown 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