Summary
Esxplot is a GUI-based tool that lets you explore the data collected by esxtop in batch mode. The program loads files of this data and presents it as a hierarchical tree where the values are selectable in the left panel of the tool, and graphs of the selected metrics are plotted in the right panel.
Esxplot allows you to “browse” the contents of these somewhat unwieldy files. You can plot up to 16 metrics on the same canvas and export the graphs to a gif, jpg, png or bmp file format. Subsets of the data can be worked with by using the regex query box which will produce a subtree that can be browsed or exported as a csv file which can, in turn, be loaded into esxplot, PERFMON or Excel.
The program is written in Python language and uses the platform-independent Window library, wxPython. Python programs written in wxPython can run unchanged on Linux, Windows, and OSX. In order to run esxplot you need to have Python 2.6.x or later installed (this program will not yet run under Python 3.x due to the lack of wxPython support).
System Requirements
The esxplot package comes with Windows and Ubuntu binaries as well as the Python source. The binaries will run without need of additional libraries or tools. However, if you decide to use the Python script on MacOS or other Linux distro, you will need to verify the following:
Instructions
The program is written in Python language and uses the platform-independent Window library, wxPython. Python programs written in wxPython can run unchanged on Linux, Windows, and OSX. In order to run esxplot you need to have Python 2.6.x or later installed; however, this program will not yet run under Python 3.x due to the lack of wxPython support.
- Installation for Linux/OS X:
* There is a pre-built executable packaged with pyinstaller for ubuntu 9.04 in the bin directory. If this does not work for you, the Python source can be found in the src directory of this bundle.
* Esxplot requires Python 2.6 or greater (but not Python 3.x). In addition, you need wxPython 2.8.10 or greater, which can be obtained at http://www.wxpython.org/download.php#binaries.
* Some installations require NumPy which you can get at http://www.numpy.org/
* Once these packages are installed, run the application by double-clicking on it.
- Installation for Windows:
* There is a pyinstaller executable in the bin directory (esxplot.exe). This was built on Windows XP SP2. In order to try out the program, navigate to the bin directory and double-click on the esxplot Python icon.
The installation includes some canned data for you to play with at data07042009-1.csv.
If you want to try this out on your own machines, from the service console try: esxtop -b -a -d 10 -n 60 > dataset.csv
Video
Change Log
Engineers
![]() | Geoffrey WhiteWorks in the GSS group. |

Hi Geoffrey,
This is an excellent tool that you have developed. Are there any plans to have a commandline options to get only a subset of counters (vm level and platform level).
Thanks,
Yashmeet
i need a single line command to get the VM machine level view for CPU and memory, etc
like esxtop – b …..
pls help
I am using esxplot to analyze resource monitoring results.
Sometime the log file size becomes larger than 350 MB and esxplot gets stuck trying to load this log file.
I really wish the next version comes out soon with this fix.
First off, thanks for putting this tool out there. It’s a huge benefit.
I have been looking everywhere for more info on the query searches in ESXPLOT. I can only figure out how to do single word queries without wildcards.
Is there any information you can provide on the Query search: limitations and possibilities? Search capabilities including value ranges would be a huge benefit to this piece of software and would definitely take it to the next level.
example searches:
all instances of virtual machines with commands/sec above 500
naa devices with a “average Driver MilliSec/Command” latency above 50
Thanks again for putting this software out there.
- Eric
The query search capabilities for the current version of esxplot are only limited to regex expressions that match the label names of the column metrics, It uses the standard “re” package in Python…
http://docs.python.org/library/re.html
The actual line that gets invoked is…
try:
regExObject = re.compile(
self._raw(regExString.rstrip('\n')),
re.IGNORECASE|re.VERBOSE)
except:
self.MyAlert("Unrecognizable Regular Expression!")
return
in MyFrame._applyQuery
Note the invocation with the properties re.IGNORECASE|re.VERBOSE, which let you enter multiline expressions. However because of this, white space must be explicitly matched. I.e. “Cpu Ready” will match nothing, but “Cpu[ ]Ready” will return a query of all of the CPU ready metrics found in the run.
esxplot 1.5 coming real soon (hopefully by Jan 1) I have added a WHERE clause so that you can say stuff like…
Driver[ ]MilliSec\/Command(?#WHERE max > 50)
Which will return a result set where any column that contains Driver MilliSec/Command in the heading AND has a column value that exceeds 50.
the left side of the logical expression can be max, min, avg, and 90th
This should help people looking for disk latency or CPU Ready spikes.
Smart Cookies out there will recognize the (?#WHERE max > 50) as a regex comment and it is! It’s just that esxplot 1.5 and above will scan the value space of the metric and will return the column in the result set iff the logical expression is ever true. In older versions of esxplot, it’s simply a comment and is ignored.
Hope this will help folks.
Hey Geoff, got esxplot running but have been tracing large (but very filtered) esxtop logs for a storage issues we have however the app just hangs forever when trying to open the traces, any ideas, new version will fix this?
thx
Shaun
How large is your data set?
The next version will address this, the program is actually falling down because of the tree-control widgets on the left. I’m implementing a more lazy approach to how they are displayed, which should give you more headroom. Should be out before Thanksgiving after I do some more vSphere 5 testing. I’m seeing some strange things in the graphs and I need to determine whether it is a bug in esxplot or a bug in what esxtop is reporting. It hard to reproduce and I have other tasks of higher priority, but stay tuned.
Come on, this is like impossible to install and use. I don’t see any value in this utility.
Chris,
What is your issue?
Go over to http://www.durganetworks.com/esxplot/ and post the problem and we will try to sort you out.
Coming soon esxplot 1.5 for vSphere 5 ;)
Geoff
i run esxplot on 11.04 from source since it doesnt run the compiled binary. i use this for quite a while and things are working great.
in the source there are several mentions of a 1.1 version. i was tinkering with the source but if there are plans for an update i’d like to know to prevent from doing things twice.
Pingback: VMware Debuts Lab Site, Shares New Tools | Virtualization.com
Have you examples of regex for esxplot filtering ?
I try to identify some problems for disk latency and queue depth / lun bottleneck
Thank’s
Bastian !!
Pingback: Virtualization Tools That Cost Nothing But Download Time | Linux
Pingback: Tool of the Week #18 – esxplot | vGeek
This all seems useful but as we move to ESXi, I question:
1) Is it inline with VMware’s long term vision (i.e. why not resxplot)?
2) Why not present this functionality through the Performance tab. Maybe create a new standard plugin to vCenter called “vAdvanced Host Performance”.
Pingback: ESXTOP Replay and VM-Support output– AKA ‘Pain Train’ | virtual insanity
Very usefully tool. thanks for the effort!
A provcotavie insight! Just what we need!
3lUNyL npezgoovhdaa
Pingback: VMware Flings « Brad's Blog
I’m unable to run the binary on Windows XP, I get error loading python.dll. It looks like is looking for python26.dll.
Thanks
Sachin,
The Binary is there as a convenience. it was linked with I believe Active State Python.
You may have to at least install Python on your XP environment. I do know that some users don’t have to perform this step. Unfortunately I will not be putting many cycles into debugging this as I’m putting cycles into getting the successor to esxplot out the door.
Good Luck
Geoff White
Hi Geoff,
Can you hint us on what and when we might expect (from) the new tool you mentioned ?
Thanks!
Adrian.
Pingback: great tool 1: ESXPLOT - isp.sad.de
Pingback: Great tool 1: ESXPLOT - isp.sad.de
Pingback: Great tool: esxplot - isp.sad.de
Pingback: VMware: esxtop auf Schlankheitskur
Excellent tool, extremely useful.
I second Dan’s call.. great tool
Pingback: VMware LABS « DeinosCloud
Pingback: Interpreting ESXTOP files with ESXPlot « WJPatton.com
Pingback: VMware Labs « vm-support
I cannot run this on Windows 2003 r2, it prompted me “pythonXX.dll error”
The binary included was built using pyinstaller on Windows XP SP2, it seems that some people have had success with some versions of Windows 2003 servers and others don’t. You can try loading a python package from python.org and see if it then loads the required dll, otherwise you will also have to load wxPython and numpy and run from source. See the README file for more instructions.
Great tool, I used it on several occasions and can only recommend it!