|
| Local Properties | Local Methods | |
| Managed Object Types | Data Object Types | All Properties | All Methods |
Performance Counters
Each performance providerthe instrumented device or entityhas
its own set of counters that provides
metadata about its available metrics.
Each counter has a unique key, referred
to as the counterId. The actual performance metrics generated at runtime are identified by
this counterId. Counters are organized
by groups
of finite system resources, such as memory,
CPU, disk,
and so on. The links in this list contain documentation for performance counters,
by group. Each page contains
a table that includes data extracted from instances of the PerfCounterInfo data object, including the counter name,
its Label, Unit, StatsType, RollupType, and Level:
Other performance-counter groups, in addition to those listed here, exist on the system. However, only the counter groups listed are considered of possible interest to third-party developers.
Obtaining Metadata and Metrics
This interface provides these query operations:
Product and Version Specifics
Some differences between ESX and vCenter Server implementations of this interface
include:
See the Programming Guide for more information about using PerformanceManager.
Properties
| Name | Type | Description |
|---|---|---|
| description P | PerformanceDescription |
The static description strings.
|
| historicalInterval* P | PerfInterval[] |
A list of intervals configured on the
system.
|
| perfCounter* P | PerfCounterInfo[] |
A list of all supported performance counters in the
system.
|
Methods
| Methods defined in this Managed Object |
|---|
| CreatePerfInterval, QueryAvailablePerfMetric, QueryPerf, QueryPerfComposite, QueryPerfCounter, QueryPerfCounterByLevel, QueryPerfProviderSummary, RemovePerfInterval, UpdatePerfInterval |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| intervalId | PerfInterval |
A custom interval, specified as the number of seconds to hold data in the
database, a user-specified unique name, and a sampling period (in seconds).
|
Return Value
| Type | Description |
|---|---|
| None | |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| entity | ManagedObjectReference |
The managed object that provides
performance metrics.
|
| beginTime* | xsd:dateTime |
Starting time (server time) for a period of time from which to return available
metrics. If not specified, defaults to oldest available
metric for the specified entity.
|
| endTime* | xsd:dateTime |
Ending time (server time) for a period of time from which to return available
performance metrics. If not specified, defaults to the most recently
generated metric for the specified entity.
|
| intervalId* | xsd:int |
Period of time from which to retrieve metrics, defined by intervalId
(rather than beginTime or endTime). Valid intervalIds include:
|
Return Value
| Type | Description |
|---|---|
| PerfMetricId[] | An array of metrics, each of which comprises a counterId and an name. |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Query Performance for VirtualCenter Server
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| querySpec | PerfQuerySpec[] |
An array of PerfQuerySpec objects. Each
PerfQuerySpec object specifies a managed object
reference for an entity, plus optional criteria for filtering results.
Only metrics for entities that can be resolved and that are valid
performance providers are
returned in any result. Each PerfQuerySpec object in the array submitted in this operation can query for different metrics. Or, select all types of statistics for a single managed entity.
Raw data feed workaround: Normally, QueryPerf will return performance statistics
stored in the VirtualCenter database. However this may not be suitable for certain
applications. For example, applications that treat VirtualCenter as a raw data source,
query for performance statistics regularly (say every 5 minutes) and extract the data
for external archival and reporting. Such applications need better query performance.
These applications should query statistics using QueryPerf for the base historical
interval (5 minutes by default) having a start and end time range within 30 minutes
from the current VirtualCenter server system time. These QueryPerf calls will have
better performance than other QueryPerf calls.
|
Return Value
| Type | Description |
|---|---|
| PerfEntityMetricBase[] | 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. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Use this operation to obtain statistics for a host and its associated virtual machines, for example.
Requires system.read privilege for every virtual machine on the target host, or the query fails with the NoPermission fault. Suported for HostSystem managed entities only.
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| querySpec | PerfQuerySpec |
A PerfQuerySpec object specifying the query
parameters. This PerfQuerySpec object specifies a
managed object for which composite statistics should be retrieved, with
specific optional criteria for filtering the results.
This PerfQuerySpec requires a valid
metricId property that specifies
a metric that is available, in common, to the entity and
its children. If the specified metricId is not available to the
entity and its children, it is ignored.
|
Return Value
| Type | Description |
|---|---|
| PerfCompositeMetric | The metric values for the specified entity and its associated entities for a single interval. |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| counterId | xsd:int[] |
An array of one or more counterIds representing performance counters for which
information is being retrieved.
|
Return Value
| Type | Description |
|---|---|
| PerfCounterInfo[] | An array consisting of performance counter information for the specified counterIds. |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| level | xsd:int |
A number between 1 and 4 that specifies the collection level.
|
Return Value
| Type | Description |
|---|---|
| PerfCounterInfo[] | An array of PerfCounterInfo objects that define the set of counters having the specified level number available for the entity. |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if an invalid level is specified. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| entity | ManagedObjectReference |
Reference to a managed object that provides performance data. If the
entity specified by managed object reference is not a performance provider,
an "InvalidArgument" exception is thrown.
|
Return Value
| Type | Description |
|---|---|
| PerfProviderSummary | A data object containing metadata about the entity as a performance provider, such as the type of metrics (real-time, summary, or both) it generates and the refreshRate. |
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. |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| samplePeriod | xsd:int |
The sampling period, in seconds, for the specified interval being removed.
|
Return Value
| Type | Description |
|---|---|
| None | |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Supported Modifications
| key | samplingPeriod | length | name | level [1] | enabled [2] |
|---|---|---|---|---|---|
| 1 | 300 [3] | 86400 [4] | Past day | 1 | true |
| 2 | 1800 | 604800 | Past week | 1 | true |
| 3 | 7200 | 2592000 | Past month | 1 | true |
| 4 | 66400 | 31536000 [5] | Past year | 1 | true |
[1] The collection level for the historical intervals
can be changed. However, the level specified for a lower-numbered interval
cannot be smaller than that of a larger interval.
[2] An interval can be disabled. By default, all four intervals are enabled.
Disabling an interval disables all higher intervals. For example, disabling
interval 3 (Past month) also disables interval 4 (Past
year).
[3] Can reduce this intervals samplingPeriod
from 5 minutes to 1, 2, or 3 minutes.
[4] Can increase this intervals
length from 1 day to 2 or
3 days.
[5] Can increase intervals length from
1 year to 2 or 3 years.
See PerfInterval for information about the four default intervals for VirtualCenter Server.
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the PerformanceManager used to make the method call. |
| interval | PerfInterval |
The historical interval being modified, a
complete data object comprising values for enabled,
interval ID, length
of time to maintain statistics for this interval in the database,
level, name,
and samplingPeriod properties.
|
Return Value
| Type | Description |
|---|---|
| None | |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the set of arguments passed to the function is not specified correctly or if the update does not conform to the rules mentioned above. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| Top of page | Local Properties | Local Methods | |
| Managed Object Types | Data Object Types | All Properties | All Methods |