Performance Manager Update Counter Level Mapping

Performance Manager Update Counter Level Mapping

Changes the level of data collection for a set of performance counters.

See the performance counter tables for the default collection level for individual counters.

Important:

Consider the performance and storage consequences of using this method. You may cause a significant increase in data collection and storage, along with a corresponding decrease in performance. vCenter Server performance and database storage requirements depend on the collection levels defined for the performance intervals (PerformanceManager.historicalInterval) and the collection levels specified for individual performance counters (PerfCounterInfo.level).

Performance Counter Data Collection

vSphere defines four levels of data collection for performance counters. Each performance counter specifies a level for collection. The historical performance intervals (PerformanceManager.historicalInterval) define the sampling period and length for a particular collection level.

The amount of data collected for a performance counter depends on the performance interval and on the type of entity for which the counter is defined. For example, a datastore counter such as datastoreIops (the aggregate number of IO operations on the datastore) will generate a data set that corresponds to the number of datastores on a host. If a vCenter Server manages a large number of hosts with a large number of datastores, the Server will collect a large amount of data.

There are other counters for which the vCenter Server collects a relatively smaller amount of data. For example, memory counters are collected as a single counter per virtual machine and a single counter per host.

Performance Counter Data Storage

The performance interval collection level defines the set of counters for which the vCenter Server stores performance data. The Server will store data for counters at the specified level and for counters at all lower levels.

By default, all the performance intervals specify collection level one. Using these defaults, the vCenter Server stores performance counter data in the vCenter database for all counters that specify collection level one. It does not store data for counters that specify collection levels two through four.

Performance Manager Method Interaction

You can use the UpdateCounterLevelMapping method to change the collection level for individual counters. You can also use the UpdatePerfInterval method to change the collection level for the system-defined performance intervals. These methods can cause a significant increase in the amount of data collected and stored in the vCenter database.

You may cause a significant increase in data collection and storage along with a corresponding decrease in performance under the following conditions:

  • By default the system-defined performance intervals use collection level one, storing data for all counters that specify collection level one. If you use the UpdateCounterLevelMapping method to change the collection level of performance counters to level one, you will increase the amount of stored performance data.
  • If you use the UpdatePerfInterval method to increase the collection level for the system-defined performance intervals, you will increase the amount of stored performance data.

To restore counter levels to default settings use the ResetCounterLevelMapping method.

Required privileges: Performance.ModifyIntervals

Request
URI
POST
https://{vcenter-host}/sdk/vim25/{release}/PerformanceManager/{moId}/UpdateCounterLevelMapping
COPY
Path Parameters
string
moId
Required

The unique identifier for the managed object to which the method attaches; the serialized managed object reference for a request has the form moType/moId, in this case PerformanceManager/{moId}.

string
release
Required

The vSphere release schema. The current specification covers vSphere 8.0.2.0 APIs.


Request Body
UpdateCounterLevelMappingRequestType of type(s) application/json
Required
{
    "counterLevelMap": [
        {
            "_typeName": "string",
            "counterId": 0,
            "aggregateLevel": 0,
            "perDeviceLevel": 0
        }
    ]
}
counterLevelMap
Required

An array of PerformanceManagerCounterLevelMapping objects. The levels for the counters passed in are changed to the passed in values. If the optional aggregateLevel field is left unset then only the perDeviceLevel is configured. If the optional perDeviceLevel is left unset then only the aggregateLevel is configured. If there are multiple entries in the passed in array for the same counterId being updated then the last entry containing the counterId takes effect.

Authentication
This operation uses the following authentication methods.
Responses
204

No Content

Operation doesn't return any data structure