Managed Object - VsanPerformanceManager(vim.cluster.VsanPerformanceManager)

See also
ClusterComputeResource, ComputeResource, DynamicData, Task, VirtualMachineProfileSpec, VsanObjectInformation, VsanPerfDiagnoseQuerySpec, VsanPerfDiagnosticException, VsanPerfDiagnosticResult, VsanPerfEntityMetricCSV, VsanPerfEntityType, VsanPerfNodeInformation, VsanPerfQuerySpec, VsanPerfTimeRange, VsanPerfTimeRangeQuerySpec
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
VsanPerfCreateStatsObject, VsanPerfCreateStatsObjectTask, VsanPerfDeleteStatsObject, VsanPerfDeleteStatsObjectTask, VsanPerfDeleteTimeRange, VsanPerfDiagnose, VsanPerfGetSupportedDiagnosticExceptions, VsanPerfGetSupportedEntityTypes, VsanPerfQueryClusterHealth, VsanPerfQueryNodeInformation, VsanPerfQueryPerf, VsanPerfQueryStatsObjectInformation, VsanPerfQueryTimeRanges, VsanPerfSaveTimeRanges, VsanPerfSetStatsObjectPolicy, VsanPerfToggleVerboseMode

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.
  • Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Host.Inventory.EditCluster ClusterComputeResource
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    profile*VirtualMachineProfileSpec

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

    Since vSphere API 5.5
    *Need not be set

    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.

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Host.Inventory.EditCluster ClusterComputeResource
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    profile*VirtualMachineProfileSpec

    Profile to be used for the stats object, see above

    Since vSphere API 5.5
    *Need not be set

    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.

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Host.Inventory.EditCluster ClusterComputeResource
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    *Need not be set

    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.

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Host.Inventory.EditCluster ClusterComputeResource
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    *Need not be set

    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.

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Global.Diagnostics RootFolder
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read
    Since
    vSAN API 6.6

    Parameters

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

    Since vSAN API 6.6
    namexsd:string

    Delete by the name of VsanPerfTimeRange
    *Need not be set

    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)

    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.
    Required Privileges
    System.Read
    Since
    vSAN API 6.6

    Parameters

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

    The query describing details of diagnosis required, such as the period of diagnosis and the query type.
    cluster*ManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSAN API 6.6
    *Need not be set

    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



    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 vim.cluster.VsanPerfEntityType data model tells you all the information you needed for above questions. Each vim.cluster.VsanPerfEntityType object describes supported metrics grouped by graphs for a type of entities like VMs. The name attribute of vim.cluster.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 (vim.cluster.VsanPerfGraph). And vim.cluster.VsanPerfGraph defines a list of metrics (vim.cluster.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 (vim.cluster.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
    System.Read

    Parameters

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

    The cluster for which to compute health for.

    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
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    *Need not be set

    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'
  • The below entity types is 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'
  • 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>.
    For Virtual SCSI(VSCSI) entities, the UUID is presented using associated VM instance UUID plus the VSCSI name,
    in this format <VM-instance-UUID>|<VSCSI-name>,
    i.e.:'55c98c4d-41f0-6ff7-2784-0200103eb5e1|vscsi0:1'.
    And an example of a VSCSI entity reference is 'vscsi:55c98c4d-41f0-6ff7-2784-0200103eb5e1|vscsi0:1'
    Virtual disk IOPS limit statistics are associated with 'virtual-disk' entities, which has different UUID format.
    For 'virtual-disk' entities, the UUID is presented using VMDK file path which can be retrieved using vSphere API.
    The UUID for 'virtual-disk' entitys' in following format: <VM-dir-uuid>/<VMDK-file-name>,
    i.e.: 'a2a04b57-e0e6-502b-e4a0-0200073bd703/iops-160-10.160.109.28-1_1.vmdk'.
    And an example of a 'virtual-disk' entity reference is 'virtual-disk:a2a04b57-e0e6-502b-e4a0-0200073bd703/iops-160-10.160.109.28-1_1.vmdk'.
    For vSAN vNIC network entities, the UUID is presented using associated ESXi host UUID plus the stack name and plus the vnic name, in this format <host-UUID>|<stack-name>|<vnic-name>,
    i.e.:'588b2225-c58c-8365-c47b-02001065be12|defaultTcpipStack|vmknic0'.
    And an example of a vnic entity reference is 'vsan-vnic-net:588b2225-c58c-8365-c47b-02001065be12|defaultTcpipStack|vmknic0'.
    For vSAN pNIC network entities, the UUID is presented using associated ESXi host UUID plus pnic name, in this format <host-UUID>|<pnic-name>,
    i.e.:'588b2225-c58c-8365-c47b-02001065be12|vmnic0'.
    And an example of a VSCSI entity reference is 'vsan-host-net:588b2225-c58c-8365-c47b-02001065be12|vmnic0'.
    For iSCSI LUN stats entities, the UUID is presented by concatenating iSCSI target alias with the LUN ID, in this format <iscsi-target-alias>|<lunid>,
    i.e.:'iscsitargetaliasexample|1'.
    And an example of a VSCSI entity reference is 'vsan-iscis-lun:iscsitargetaliasexample|1'.

    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'
    'host-domcompmgr' 'iopsRead', 'throughputRead', 'latencyAvgRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyAvgWrite', 'writeCount', 'iopsRecWrite', 'throughputRecWrite', 'latencyAvgRecWrite', 'recWriteCount' 'congestion', 'oio', 'iopsResyncRead', 'tputResyncRead', 'latAvgResyncRead'
    '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'
    'virtual-machine' 'iopsRead', 'throughputRead', 'latencyReadAvg', 'latencyReadStddev', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyWriteAvg', 'latencyWriteStddev', 'writeCount'
    'vscsi' 'iopsRead', 'throughputRead', 'latencyRead', 'readCount', 'iopsWrite', 'throughputWrite', 'latencyWrite', 'writeCount'
    'virtual-disk' 'iopsLimit', 'NIOPS', 'NIOPSDelayed'
    'vsan-host-net' 'rxThroughput', 'rxPackets', 'rxPacketsLossRate', 'txThroughput', 'txPackets', 'txPacketsLossRate'
    'vsan-vnic-net' 'rxThroughput', 'rxPackets', 'rxPacketsLossRate', 'txThroughput', 'txPackets', 'txPacketsLossRate'
    'vsan-pnic-net' 'rxThroughput', 'rxPackets', 'rxPacketsLossRate', 'txThroughput', 'txPackets', 'txPacketsLossRate'
    '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'
    Required Privileges
    System.Read

    Parameters

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

    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.
    cluster*ManagedObjectReference
    to a ComputeResource

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    *Need not be set

    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
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    *Need not be set

    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
    System.Read
    Since
    vSAN API 6.6

    Parameters

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

    Since vSAN API 6.6
    querySpecVsanPerfTimeRangeQuerySpec

    Specify the name and time boundaries. See details in VsanPerfTimeRangeQuerySpec
    *Need not be set

    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.

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Global.Diagnostics RootFolder
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read
    Since
    vSAN API 6.6

    Parameters

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

    Since vSAN API 6.6
    timeRangesVsanPerfTimeRange[]

    VsanPerfTimeRange list to be saved.
    *Need not be set

    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)

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Host.Inventory.EditCluster ClusterComputeResource
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read

    Parameters

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

    vSAN cluster. Ignored if called against host.

    Since vSphere API 5.5
    profile*VirtualMachineProfileSpec

    See above description for all possible options.

    Since vSphere API 5.5
    *Need not be set

    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.

    Combined Privileges Required (on vSphere ManagedEntity):
    Privileges Required on
    Global.Settings RootFolder
    * The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
    * The ClusterComputeResource entity in above table refers to the cluster which is being operated on

    * The Required Privileges section below is not used, please ignore.
    Required Privileges
    System.Read
    Since
    vSAN API 6.6

    Parameters

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

    Since vSAN API 6.6
    verboseModexsd:boolean

    Switch of verbose mode, the type is boolean.
    *Need not be set

    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