I was looking into the new metrics in esxtop and was wondering if I could plot them easily on my Mac. Unfortunately (or fortunately) there is no MS PerfMon available native to do this. But VMware released a cool tool called esxplot which more or less does the same thing. I downloaded it and tried to run it. After running the python script (esxplot.py) I received the following error:

MBP:src user$ ./esxplot.py
Traceback (most recent call last):
File “./esxplot.py”, line 56, in <module>
import wx.html
File “/var/tmp/wxWidgets/wxWidgets-13~231/2.6/DSTROOT/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/__init__.py”, line 45, in <module>
File “/var/tmp/wxWidgets/wxWidgets-13~231/2.6/DSTROOT/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_core.py”, line 4, in <module>
ImportError: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture (see “man python” for running in 32-bit mode)

However esxplot uses specific libraries which are only available on the 32Bit version of Python. So I needed to set the following environment variable in order for esxplot to work correctly:

export VERSIONER_PYTHON_PREFER_32_BIT=yes

Now you can use esxplot on your Mac natively to investigate those performance issues. By the way, in this the performance issue was due to poor NUMA locality as 24% was fetched remote as shown in the graph: