Attach to running CPython program and use Yappi to do a profile session

Command line parameters for PyVmMonitor

API to use PyVmMonitor programatically

PyVmMonitor preferences (theme, listening port, editor font, etc.)

Profile on another machine

PyDev integration

PyCharm integration




Copyright 2014-2021 - Brainwy Software Ltda.
Hosted on GitHub Pages - Theme by orderedlist

It should be possible to profile Python programs in a different machine. In this example let's consider that the client is a windows machine and the server a Linux machine.

To make the profile in this case you should:

1. Start pyvmmonitor-ui on your windows machine

2. Copy the contents of C:\bin\PyVmMonitor VERSION\public_api to the Linux machine

3. Add to the start of your code:

  
# Add the public_api to the PYTHONPATH (could be done by changing environment 
# variable or adding the contents inside public_api to site-packages too).
import sys
sys.path.append(r'/my/path/to/public_api') 

# Note that the port may be different... in the 
# right-bottom corner of pyvmmonitor it'll show the port it's listening to.
import pyvmmonitor
pyvmmonitor.connect(host='my.windows.host.ip', port=5687)


By doing so it should connect to the pyvmmonitor ui at startup.

It should start showing the live-tree results at that point and if you have yappi installed on your server you could also start/stop a profile session interactively.

Another option would be following the steps above for setup and later using the pyvmmonitor.profile_method() decorator to make a deterministic profiling session.

Note: The CPU and memory views don't currently work when doing a profile in a different machine.