A recent question was posed on the VMTN developer forum on how to obtain the new power utilization metrics using the vSphere API. This new performance metric was introduced with the release of vSphere 4.x and can be seen using either esxtop or resxtop and specifying the "p" option for power if you are on an ESX or ESXi host.
You can also get these counters by using the vSphere Client and using the Advanced Charts:
This actually seemed like a simple enough question, pointing the user over to the vSphere API reference documentation under the perfManager. Though after taking a second look, it appears that no such metric exists in the documentation from VMware:
After a few minutes of digging around, I found that Power metrics actually do in fact exists but were not properly documented when they were first introduced. I wrote a quick vSphere SDK for Perl script called perfQuery.pl looking for metrics that were related to "power" and I identified the following:
As you can see these match up to those seen using the vSphere Client and I output the metrics using its rollup type, units, internal name and metric description. While writing this script, I also noticed there were two other performance metric types that existed and were not documented by VMware. Here is a mapping of the API performance metric keys to vSphere API perfManager, the last two including power metric types are undocumented by VMware:
vSphere Client Chart Option | vSphere API Perf Metric Key | Documented |
---|---|---|
Cluster Services | clusterServices | yes |
CPU | cpu | yes |
Management Agent | managementAgent | yes |
Memory | mem | yes |
Network | net | yes |
Resource Scheduler | rescpu | yes |
Storage Capacity | disk | yes |
Datastore | datastore | yes |
Disk | disk | yes |
Virtual Disk | virtualDisk | yes |
Storage Adapter | storageAdapter | yes |
Storage Path | storagePath | yes |
System | sys | yes |
Virtual Machine Operations | vmop | yes |
Power | power | no |
vCenter Resources | vcResources | no |
vCenter Debug Info | vcDebugInfo | no |
Using the script and the performance metric key, you can actually query either all or a specific metric type that you are interested in. This is helpful, for those metrics that have not been publicly documented by VMware. However, the power metric should have been documented and I believe this to be a documentation bug that was missed by VMware.
Download: perfQuery.pl
If you are interested in learning more about the vSphere statistics and performance monitoring, I highly recommend checking out Luc Dekens three part series (Part1, Part2 and Part3) on vSphere performance monitoring. Even though his posts are specific to PowerCLI, all the concepts discussed apply to all the vSphere SDKs when dealing with performance monitoring using the vSphere APIs.
Thanks for the comment!